私はここに記載された指示に従っています:https://api.stackexchange.com/docs/authenticationoauth2を使用してStackExchange APIにアクセスする方法
しかし、コードは提供されていないので、私は正しく流れを理解することができません。
私は以下の2つの方法で認証部分を実行しようとしていましたが、私は致命的でした。
1)
import requests
from pprint import pprint
resp = requests.get('https://stackexchange.com/oauth/dialog?client_id=6667&scope=private_info&redirect_uri=https://stackexchange.com/oauth/login_success/')
pprint(vars(resp))
2)
import oauth2 as oauth
from pprint import pprint
url = 'https://www.stackexchange.com'
request_token_url = '%s/oauth/' % url
access_token_url = '%s/' % url
consumer = oauth.Consumer(key='mykey',
secret='mysecret')
client = oauth.Client(consumer)
response, content = client.request(request_token_url, 'GET')
print(response, content)
私はここから前進するかどうかはわかりませんか?私は返されたアクセストークンを使用し、それを使ってAPIに問い合わせる必要があります。サンプルコードは本当に本当に助けになるでしょう!ありがとう。
EDIT:
from requests_oauthlib import OAuth2Session
from pprint import pprint
client_id = 'x'
client_secret = 'x'
redirect_uri = 'https://stackexchange.com/oauth/login_success'
scope = 'no_expiry'
oauth = OAuth2Session(client_id, redirect_uri=redirect_uri, scope=scope)
pprint(vars(oauth))
authorization_url, state = oauth.authorization_url('https://stackexchange.com/oauth/dialog')
print(authorization_url)
を代わりにauthorization_urlをクリックしてトークンを取得するので、私が直接スクリプト自体の中にトークンを取得することができる方法があります:これは私が現在使用しているコードです?
ありがとうございます! OPで私の編集を確認できますか?トークンを取得するプロセスを自動化するにはどうすればよいですか? – 90abyss
私が言及したように、私はそれを自動化するためにセレンのwebdriverを見ます。私は同様の状況を説明している[PhantomJS through selenium](http://stackoverflow.com/questions/13287490/is-there-a-way-to-use-phantomjs-in-python)のSOの質問を参照します。さらなる情報が必要な場合は、新しい質問になるはずです。あなたの要件について言及してください:それは完全にヘッドレスでなければならないのですか、またはGUIが許可されていますか?追加のソフトウェアをインストールすることはできますか、それとも純粋なPythonである必要がありますか? –