私は、Instagram APIとリクエストを使い、OAuthを超えようとしています。私はr = requests.get(...)
を使って、instagramの文書に従ってください。しかし、要求からの出力は決して私が期待するものではありません。私は幾分似ている2つの問題を抱えています。Pythonのリクエストとinstagram
1)私が間違ったパラメータを送信する場合、私はブラウザにr.url
から文字列を貼り付ける場合は、私が見たものである
{"code": 400, "error_type": "OAuthException", "error_message": "You must include a valid client_id, response_type, and redirect_uri parameters"}
ように見えるJSONを取り戻すことを期待しています。しかしr.json()
単に失敗し、私に
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
2を与える)正しい応答はまた、コードが含まれる、私のリダイレクトURLに私をリダイレクトする必要があります。繰り返しますが、r.url
をブラウザに貼り付けるときに正しく動作します。私は正常にリダイレクトされました。明示的に「allow_redirects=False
」と設定しても、リクエストは私をリダイレクトするようには見えません。私は、URLからコードを読み取る必要があります。コードを抽出するための最終的なURLを私に要求するにはどうすればよいですか?
編集:いくつかのコードが含まれている可能性があります。
def get_code(client_id, redirect_uri, scope="basic"):
params = {"client_id": client_id,
"redirect_uri": redirect_uri,
"response_type": "code",
"scope": scope}
r = requests.get('https://api.instagram.com/oauth/authorize/',
params=params)
# print r.url
# print r.json()
return r
どのように検証していますか?また、ドキュメントへのリンクは良いだろう –
私は、暗黙的と明示的な両方の方法を試みました(これらは本質的にこの手順で同じです)。ここにはドキュメントがあります:https://www.instagram.com/developer/authentication/ – Shatnerz
jsonは、ログインフォームのhtmlであるため、解析されません。ブラウザでinstagram.comのクッキーをクリアしてみると、ログインフォームが表示されます。 –