
twitterのOauthをpythonで実装したく調べてみた結果、リンク内容このサイトを見て色々コードを入れてみたのですが、できなく全く分からなかったので教えてほしいです。
python
1import os 2import json 3from urllib.parse import parse_qsl 4 5from flask import Flask, jsonify, request 6from requests_oauthlib import OAuth1Session 7 8app = Flask(__name__) 9 10 11consumer_key = "Consumer Key を入力" 12consumer_secret = "Consumer Secret を入力" 13 14 15base_url = 'https://api.twitter.com/' 16 17request_token_url = base_url + 'oauth/request_token' 18authenticate_url = base_url + 'oauth/authenticate' 19access_token_url = base_url + 'oauth/access_token' 20 21base_json_url = 'https://api.twitter.com/1.1/%s.json' 22user_timeline_url = base_json_url % ('statuses/user_timeline') 23 24 25# 認証画面(「このアプリと連携しますか?」の画面)のURLを返すAPI 26@app.route('/twitter/request_token', methods=['GET']) 27def get_twitter_request_token(): 28 29 # Twitter Application Management で設定したコールバックURLsのどれか 30 oauth_callback = request.args.get('oauth_callback') 31 32 twitter = OAuth1Session(consumer_key, consumer_secret) 33 34 response = twitter.post( 35 request_token_url, 36 params={'oauth_callback': oauth_callback} 37 ) 38 39 request_token = dict(parse_qsl(response.content.decode("utf-8"))) 40 41 # リクエストトークンから認証画面のURLを生成 42 authenticate_endpoint = '%s?oauth_token=%s' \ 43 % (authenticate_url, request_token['oauth_token']) 44 45 request_token.update({'authenticate_endpoint': authenticate_endpoint}) 46 47 return jsonify(request_token) 48 49 50# アクセストークン(連携したユーザーとしてTwitterのAPIを叩くためのトークン)を返すAPI 51@app.route('/twitter/access_token', methods=['GET']) 52def get_twitter_access_token(): 53 54 oauth_token = request.args.get('oauth_token') 55 oauth_verifier = request.args.get('oauth_verifier') 56 57 twitter = OAuth1Session( 58 consumer_key, 59 consumer_secret, 60 oauth_token, 61 oauth_verifier, 62 ) 63 64 response = twitter.post( 65 access_token_url, 66 params={'oauth_verifier': oauth_verifier} 67 ) 68 69 access_token = dict(parse_qsl(response.content.decode("utf-8"))) 70 71 return jsonify(access_token) 72 73 74 75@app.route('/twitter/user_timeline', methods=['GET']) 76def get_twitter_user_timeline(): 77 78 access_token = request.args.get('access_token') 79 80 params = { 81 'user_id': request.args.get('user_id'), 82 'exclude_replies': True, 83 'include_rts': json.get('include_rts', False), 84 'count': 20, 85 'trim_user': False, 86 'tweet_mode': 'extended', # full_textを取得するために必要 87 } 88 89 twitter = OAuth1Session( 90 consumer_key, 91 consumer_secret, 92 access_token['oauth_token'], 93 access_token['oauth_token_secret'], 94 ) 95 96 response = twitter.get(user_timeline_url, params=params) 97 results = json.loads(response.text) 98 99 return jsonify(results) 100 101if __name__ == "__main__": 102 port = os.environ.get('PORT', 3333) 103 app.run( 104 host='0.0.0.0', 105 port=port, 106 ) 107 108コード
エラーコード
Traceback (most recent call last):
File "C:\Users\〇〇\Desktop\oauth\index.py", line 5, in <module>
from flask import Flask, jsonify, request
ModuleNotFoundError: No module named 'flask'
コードを書いたというよりかはコピペです。。
ほんとに初心者なので真面目にわからないので私のような初心者でもわかるようなわかりやすい解説お願いします。。。

