web-dev-qa-db-ja.com

Instagram oauth api gives {"code":400、 "error_type": "OAuthException"、 "error_message": "一致するコードが見つかりません。"}

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.

私は完全に立ち往生していて、期限が切れているので助けてください。

24
Amritpal Singh

Instagram開発者で暗黙的なOAuthを無効にするをオフにすると、クライアントを管理することで問題が修正されました

12
h0mayun

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."
}

あなたの幸せを祈ります ;)

2
yuhua

同じエラーが発生しました。 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.
0
CnapoB

Redirect_uriパラメータをurlEncodeしてみてください

http%3A%2F%2Flocalhost

また、コードパラメータには「。」が含まれます。エラーの可能性がある文字。

code=1351860224.4827556.5dc92c4d15ea4a4ea1b0d33eaf0eef19

問題を引き起こす可能性があります

"error_message": "No matching code found."

「5dc92c4d15ea4a4ea1b0d33eaf0eef19」が正しいコードのようです

0
Charlie

遅い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を追加するとうまくいきました

0
sathish

問題はここにあります http:// localhost/signin-instagram として設定されたリダイレクトURL

signin-instagram部分は非常に重要ですので、Instagram.com/developer-> Manage Client-> Security->で有効なリダイレクトURIを設定します:/../signin-instagram

0
user5775067

私が何がうまくいったかを述べます。

ステップ1。パネルから新しいクライアントシークレットを生成します。

ステップ2。前述の手順1 here に従って、コードを再度取得します。

ステップ3。変更されたパラメータを使用してリクエストを再度送信します。

リクエストを送信するときに、ブラウザにログインしていることを確認してください。必要な応答が得られます。

0
Weaver