Instagram APIと統合してユーザー情報にアクセスするアプリケーションに取り組んでいます。認証URLを使用してアクセストークンを正常に取得しましたが、access_token URLを使用してuserIdを取得できません。
私は両方のエンドポイントを試しました:
https://api.instagram.com/oauth/access_token?client_id=48275564e2c445f6b8e1356djfha3e0c&client_secret=ab2062da9f314e3489dke7ae9cbe6e5d&redirect_uri=http://localhost&grant_type=authorization_code
https://api.instagram.com/oauth/access_token
投稿本文は次のようになります。
client_id=48275564e2c445f6b8e1356djfha3e0c&client_secret=ab2062da9f314e3489dke7ae9cbe6e5d&redirect_uri=http://localhost&grant_type=authorization_code&code=1351860224.4827556.5dc92c4d15ea4a4ea1b0d33eaf0eef19
(リクエストのデータが変更されます)、しかし、私は次のようになります
{
"code": 400,
"error_type": "OAuthException",
"error_message": "No matching code found."
}
私はたくさんの質問や質問を見てきましたが、問題の解決策を見つけることができませんでした。
いくつか質問があります:
1) is the field code in the URL is same as access_token, if not how could i get the code field's value.
2) is there any other mechanism(API) to fetch the user details given the username is not known.
私は完全に立ち往生していて、期限が切れているので助けてください。
Instagram開発者で暗黙的なOAuthを無効にするをオフにすると、クライアントを管理することで問題が修正されました
form-data
またはapplication/x-www-form-urlencoded
正常に動作します。最も重要なのは、リダイレクトURIから取得するcode
が1つのリクエストでのみ使用されることです。これは、code
に対してアクセストークンonceを要求できることを意味します。同じcode
を使用して複数回リクエストすると、次のようなエラーが表示されます。
{
code: 400,
error_type: "OAuthException",
error_message: "Matching code was not found or was already used."
}
あなたの幸せを祈ります ;)
同じエラーが発生しました。 instagramのスパムシステムは、非公式アプリケーションへのユーザーのアクセスを無効にしているようです。ユーザーのパスワードを変更するだけです。私の場合、それは助けでした。また、別のアプリケーションを作成してみてください。
[〜#〜] upd [〜#〜]
から 私の答え 別の質問へ
ユーザーが複数のcode
を取得しているようで、first code
、ただしsecond
が必要です。エラーが発生した場合は、relogin
ユーザーを試してください。ユーザーには、確認ボタンではなくリダイレクトだけのinstagramページが表示されません。
エラーの可能性のあるアルゴリズム:
1. User click auth link.
2. Get first code.
3. User click auth link (twice, redirection problem, public auth system, etc.)
4. Get another code (even on the same client_id, redirect_uri).
5. You get first code.
6. But first code already doesn't exists.
Redirect_uriパラメータをurlEncodeしてみてください
http%3A%2F%2Flocalhost
また、コードパラメータには「。」が含まれます。エラーの可能性がある文字。
code=1351860224.4827556.5dc92c4d15ea4a4ea1b0d33eaf0eef19
問題を引き起こす可能性があります
"error_message": "No matching code found."
「5dc92c4d15ea4a4ea1b0d33eaf0eef19」が正しいコードのようです
遅いinstagram python content-type HTTPヘッダーがないためにスニペットが失敗する
response, content = http_object.request(url, method="POST", body=data,headers = {"Content-type": "application/x-www-form-urlencoded"})
application/x-www-form-urlencodedを追加するとうまくいきました
問題はここにあります http:// localhost/signin-instagram として設定されたリダイレクトURL
signin-instagram部分は非常に重要ですので、Instagram.com/developer-> Manage Client-> Security->で有効なリダイレクトURIを設定します:/../signin-instagram
私が何がうまくいったかを述べます。
ステップ1。パネルから新しいクライアントシークレットを生成します。
ステップ2。前述の手順1 here に従って、コードを再度取得します。
ステップ3。変更されたパラメータを使用してリクエストを再度送信します。
リクエストを送信するときに、ブラウザにログインしていることを確認してください。必要な応答が得られます。