API や HTTP リクエストを使用するのは初めてなので、問題が発生しています。GET リクエストから取得したトークン情報を API に渡す方法がわかりません。imgur API は、3 つのエンドポイントが必要であると言います: http://api.imgur.com/authですが、要求されたトークンを渡すことができないため、2 番目のエンドポイントまでしか取得できません。
モジュールのドキュメントは、それについて私には非常に曖昧です: https://github.com/maraujop/requests-oauth
これは、認証を正常に渡すはずのコードですが、htmlページhttp://pastebin.com/19hnBy1Cを返します。
import requests
from oauth_hook import OAuthHook
import cgi
OAuthHook.consumer_key = 'XXXXXXX'
OAuthHook.consumer_secret = 'YYYYY'
#just in case
oauth_hook = OAuthHook(header_auth=True)
#request the tokens, using the keys set above
r = requests.get(url='https://api.imgur.com/oauth/request_token', hooks={'pre_request': oauth_hook,})
#parse the lsit
tokenList = cgi.parse_qs(r.content)
token = tokenList['oauth_token']
tokenSecret = tokenList['oauth_token_secret']
#this is where I'm not sure what to do,
#I create a new hook with the tokens I received
oauth_hook = OAuthHook(access_token=token[0], access_token_secret=tokenSecret[0])
#send the GET request
r = requests.get(url='https://api.imgur.com/oauth/authorize', hooks={'pre_request': oauth_hook,})
#this is that HTML that requires me to enter account info, how do I do that in python?
print r.content
#this is the next step, which, if you uncomment the last print, shows that the auth failed.
r = requests.get(url='https://api.imgur.com/oauth/access_token', hooks={'pre_request': oauth_hook,})
#print r.text
続けるにはどうするのが一番いいですか?
authorize
ユーザー名/パスワードをデータまたはパラメーターとして使用して、POST を API に送信できるのではないかと考えましたが、うまくいかなかったようです。
Imgur API は、良いアイデアを得るためにいくつかの Twitter ドキュメントを見ることを提案していますが、私が読んでいるものは次のとおりです。 oauth/は、PHP であるため、私の頭を少し超えていますが、それは私がやるべきことのようです。