Twitter

Twitter2Blogger和TwiTalker更新到API1.1

之前写过 将每天tweets汇总自动发布到blogger ,但是在GAE上搭建的Twitter2Blogger目前已知提示错误,错误代码为”tweepy,auth.get_username()”,应该是Twitter启用了API 1.1,导致了tweepy的不兼容.现在tweepy中的API版本也升级到了1.1,重新上传即可,过程和之前一样.

下载Twitter2blogger,地址为https://code.google.com/p/twitter2blogger
下载Tweepy,地址为http://github.com/tweepy

补充:

修改main.py第60行的内容,将Blogger上的日文标题修改为英文或者中文。

修改cron.ymal里的时区为Asia/Shanghai,默认是Asia/Tokyo。

twitter 启用API1.1,TwiTalker也更新了,开发者没上传,我打包了下 这里下载. 记得修改app id.

至于修改内容,上传,和之前一样.

http://lordong.net/wp/post/1396.html

TwiTalker是个好东西,开源项目,支持在GAE上搭建Gtalk机器人,绑定Twitter帐户到Gtalk上,然后可以在Gtalk界面方便的操作Twitter帐户,非常感谢@kavin_gray的努力。

在使用过程中发现TwiTalker的搜索(-s 搜索内容)和查看list(-list 用户 list名)功能并不能使用,今天特意查了一下代码,经过多方修改和测试,总算把这两个问题解决了。

主要修改apptwitter.py和twi_service.py两个文件,下载链接:dropbox共享(需翻墙),考虑到安全问题本地暂不提供下载,如果需要请在留言处留下邮箱。

修改的地方:

搜索改用官方的搜索API,替换原来的twip代码。
查看list内容更新成官方的API,测试下来发现使用 https://twitter.com 调用此API不成功,替换成 http://api.twitter.com/1 就成功,因此修改原来的代码把 _api_url 由前者改为后者。同时修改订阅列表的相关代码(-live),支持自动推送list内容。
上两步修改完后发现首页无法打开,检查下来发现oauth相关的url不能用在 http://api.twitter.com/1,因此增加了一个 _oauth_api_url 的声明,定义为 https://twitter.com,并把包含oauth调用的url由_api_url改成_oauth_api_url,测试下来没有问题。
用法:到TwiTalker开源网下载最新的源码包,解压后把我更新的两个.py文件替换掉原来的文件,然后更新到GAE即可。

注意:考虑到GAE提供的免费资源有限,建议修改 cron.yaml,只保留最顶上的dataa和datab两个计划任务,支持最多50个帐户绑定即可,可以多建一些GAE帐户来解决人多的问题,建议有gmail帐户的人自己搭建。

支持Twitter API 1.1的更新(2013-6-13):

前两天发现Twitter已经不支持API 1.0了,因此TwiTalker也就跟着挂了,经过修改测试现在更新的版本功能跟原来一样了,下载链接见前面的dropbox共享。

更新内容:

apptwitter.py文件:第32行API改成1.1;第33行的搜索API虽然改了,但已经不再需要;第422行searchTweet改调用_get函数而不是_search函数,因为新的搜索API跟1.0的不一样,需要认证才能搜索,API也沿用了标准的API;修改mentions函数把mentions.json改成1.1的mentions_timeline.json。
twi_service.py文件:第828行调用_formatMsg函数时参数改成contents['statuses'],对应的修改了_formatMsg函数第2230行取搜索结果用户名的下标;顺便修改第194行,真正支持“-lt 群组创建者 群组名或群组ID ”。

微信扫一扫,向我赞赏

微信扫一扫,向我赞赏

回复

  1. srsly srsly
    Chrome 72 10

    博主你好,我按照你的文章尝试,到最后一步该验证时,出现如下内容:: invalid syntax (api.py, line 360)
    Traceback (most recent call last):
    File “/base/data/home/apps/s~tttobg/2.375917860952467923/twitter2blogger/main.py”, line 16, in
    import tweepy
    File “/base/data/home/apps/s~tttobg/2.375917860952467923/tweepy/__init__.py”, line 14, in
    from tweepy.api import API

    不知道是怎么回事,能指点一下吗?另外,app上传时总是返回说是python2.5, 让改用python2.7,不知道是不是正常的?

    1. harry harry
      Chrome 72 10

      不知道tweepy api文件下的对不对?或者接收python版本问题。
      我也是一知半解,你试试吧

      1. srsly srsly
        Chrome 72 10

        谢谢你的回答,能不能把你下载的能正常使用的tweepy发给我呢?我的邮箱就可以,谢谢!

        1. harry harry
          Chrome 72 10

          我使用的tweepy已发你的邮箱

This is just a placeholder img.