Google App Engineã®Twitter BotãFlaskã¨Tweepyã§ä½ã
Pythonã®ãã¤ã¯ããã¬ã¼ã ã¯ã¼ã¯Flaskã«ã¤ãã¦èª¿ã¹ã¦ããã以ä¸ã®è¨äºãè¦ã¤ãã¾ããã
ç·´ç¿ãã¦ããããããã¨æãã¾ããããä»ã¯Twitterã®èªè¨¼æ¹æ³ãOAuthãªã®ã§ããã®å½¢ã§ä½ãç´ãã¦ã¿ã¾ãã
Twitterã®ã©ã¤ãã©ãªã¯Tweepyã使ããã¨ã«ãã¾ãã
#coding: utf-8 import random import tweepy from flask import Flask app = Flask(__name__) consumer_key = "your consumer key" consumer_secret = "your consumer secret" my_access_token = "your access token" my_access_token_secret = "your access token secret" @app.route('/post_update') def post_update(): auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(my_access_token, my_access_token_secret) oauth_api = tweepy.API(auth) post=' '.join([random.choice(list(open('messages.txt'))),str(random.random())]) oauth_api.update_status(status=post) return post if __name__ == '__main__': app.run()
å è¨äºã¨ãã¾ãå¤ãã£ã¦ãã¾ããããæé ã¯ä»¥ä¸ã®ã¨ããã
- Downloads - Google App Engine ― Google DevelopersãããGoogle App Engine SDK for Pythonããã¦ã³ãã¼ããã¦è¨å®ãã¦ããã
- ããã¸ã§ã¯ãã®ã²ãªåããã¦ã³ãã¼ããã¦å±éãã¦ããã¾ããï¼gigq/flasktodoï¼
- Pythonã®Twitterã©ã¤ãã©ãªTweepyããã¦ã³ãã¼ããã¦ãä¸ã®tweepyã¨ãããã©ã«ããflasktodoãã©ã«ãã«ã³ãã¼ãã¾ãã
- 2ã§ä½ã£ããã©ã«ãã®application.pyãä¸è¨ã³ã¼ãã«å ¥ãæ¿ãã¾ãã
- My applications | Twitter Developersã§ãã¢ããªã±ã¼ã·ã§ã³ãç»é²ãã¦ãConsumer KeyãAccess Token Secretãåå¾ããã³ã¼ãä¸ã®å¤ãå ¥ãæ¿ãã¾ãã
- ï¼å è¨äºã¨åãï¼application.pyã¨åãé層ã«ãmessages.txtãã¨ãããã¡ã¤ã«ãä½ãã¾ããUTF8ã§Botã«ã¤ã¶ãããããæååãæ¹è¡åºåãã§æ¸ãã¦ããã¾ãã
- ï¼å è¨äºã¨åãï¼app.yamlã®1è¡ç®ãapplication: XXXXãã®ãXXXXããï¼1ã§ä½ã£ãã¢ããªã±ã¼ã·ã§ã³IDã«æ¸ãæãï¼æå¾ã®ãlogin: requiredããåé¤ãã¾ãã
ãã¼ã«ã«ã§ã®ãã¹ãæ¹æ³ãªã©ã¯å²æãã¾ããã³ã¼ãã®ä¸ã§ãçºè¨æååã«ã©ã³ãã æ°å¤ããã£ã¤ãã¦ããã®ã¯ãåãæååã飿ãããã¨ããã¨ã¨ã©ã¼ãåºã¦ããã®ã§ãããé¿ããããã§ãã
ãã¨ãä½è«ãApp Engineã®éçºç°å¢å¤ã§Tweepyã使ã£ãã¹ã¯ãªããã"python2.5ã§"å®è¡ããããJSONã©ã¤ãã©ãªãè¦ã¤ãããªããã¨ã©ã¼ãåºãå ´åãããã¾ãããApp Engineç°å¢ã§ã¯django.util.simplejsonããã¤ã³ãã¼ããã¦ãããããã«ãªã£ã¦ããã®ã§ãã¡ãã¨Tweepyã¯åä½ãã¾ãã