質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

3071閲覧

Twitter api oauthをPythonで実装したい

ELA

総合スコア12

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

1グッド

1クリップ

投稿2019/03/28 03:27

編集2019/03/28 03:52

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'

コードを書いたというよりかはコピペです。。
ほんとに初心者なので真面目にわからないので私のような初心者でもわかるようなわかりやすい解説お願いします。。。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/03/28 03:31

コードをせっかく書いたのであれば、質問文中に掲載して評価してもらったほうが解決が早いですよ、せっかくですので。
_Victorique__

2019/03/28 03:35

そのリンクのどこが分からなくてどのようなエラーが出て困っているのでしょうか? コードを書いたのなら載せるべきです。
ELA

2019/03/28 03:36

なるほどです 訂正しますね
_Victorique__

2019/03/28 03:46

エラーの内容も載せてください。
ELA

2019/03/28 03:53

載せました
hayataka2049

2019/03/28 03:59

率直に言って、初心者の方が手を出す課題としては背伸びしすぎかと。なにがわかっていればできるのかもわからないレベルの人に、こういう場で適切に助言するのは難しいです。「ほんとに初心者なので」と書かなくても済む程度まで勉強されてからトライするのが妥当です。
ELA

2019/03/28 04:28

わかりました。 ある程度学んでから再度トライしてみようと思います
guest

回答1

0

やり取りをした感じ、分かってないことの方がほとんどだと思いました。

まずProgateから始めることをお勧めします。
Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]

投稿2019/03/28 04:18

_Victorique__

総合スコア1392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ELA

2019/03/28 04:29

そうですね。。 基礎をしっかり学んでからもう一度質問していこうと思います
_Victorique__

2019/03/28 04:31

コツコツ頑張ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問