Google App Engine 上で Twitter Bot を動かしたくなって、どうせなので 2ちゃんねるぶろぐ の更新情報を流す奴を作ってみた。
というわけでできたのがコレ
@2chblogsGoogle App Engine で Twitter Bot を動かすためには、Oauth が動く様にすればOK。以下のライブラリを使用しました。
mikeknapp's AppEngine-OAuth-Library at master - GitHubOAuth で必要になる、Access Token, Access Token Secret を取得する時は、以前作った Twitter蔵 を少し改造した。
あとは、GAE上で実装するだけなのだが、ぐぐって出てきたページをそのまま使ってしまった。特に複雑な事はしないので・・・
無題メモランダム: TwitterボットをOAuthに対応させてみた - Google App Engine(Python)ありがとうございます。
一応実装箇所をメモ
以下はmain.py
class tweet(webapp.RequestHandler):
def get(self):
import oauth
ret = Entry.gql('WHERE twitter_flg = :boolean', boolean=False).fetch(limit=5)
if len(ret) is 0:
return True
contents = ''
client = oauth.TwitterClient(TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET, None)
for i in ret:
tweet = u"[%s] %s %s" % (i.site_title, i.title, i.link)
param = {'status': tweet}
client.make_request(TWITTER_POST_URL,
token = TWITTER_ACCESS_TOKEN,
secret = TWITTER_ACCESS_TOKEN_SECRET,
additional_params = param,
protected = True,
method = 'POST')
i.twitter_flg = True
i.put()
contents += tweet + u'<br />'
self.response.out.write(contents);
app.yaml
- url: /tweet
script: main.py
login: admin
cron.yaml
- description: tweet
url: /tweet
schedule: every 10 minutes