web-dev-qa-db-ja.com

Instagram API:指定されたaccess_tokenは無効です

サンドボックスユーザーを登録しました。今、私はそれを使おうとしていますが、「提供されたaccess_tokenは無効です」と受け取ります。サンプルリクエスト:

https://api.instagram.com/v1/users/searchq=abc&count=2&client_id=7b67cff1a7ab462881298434c08b5ab8

ライブモードで動作していましたが、サンドボックスで動作しない理由がわかりません。

8
AndrewR

requirements Scope for AP Iを確認する必要があります。使用する必要があるかどうか、および認証「Valid access Token」。また、いくつかの変更がありました。

  • 基本-ユーザーのプロフィール情報とメディアを読む
  • public_content。ユーザーに代わって公開プロフィール情報とメディアを読み取ります
  • フォロワーとフォローしているユーザーのリストを読むためのfollower_list
  • コメント-ユーザーに代わってコメントを投稿および削除する
  • 関係-ユーザーに代わってアカウントをフォローおよびフォロー解除する
  • いいね-ユーザーに代わってメディアが好きで、違う

そして** Sandbox APIの動作について見てみましょうアプリケーションのlifeまだ:**

APIの動作

サンドボックスモードのときのAPIの動作は、アプリがライブのときと同じですが、次の制限があります。

データはサンドボックスユーザーと各サンドボックスユーザーからの最新の20のメディアに制限されていますこれらの各ユーザーの最後の20人でした。

たとえば、/ users/{user-id} /エンドポイントを照会し、{user-id}がサンドボックスユーザーである場合、通常のAPI応答を取得します。ただし、{user-id}がサンドボックスユーザーでない場合、APINotFoundエラーが発生します。

幸運を

5
MR Gharibeh

私にとってInstagramが生成するアクセストークンは短すぎます。

d2c387d768ec4d619306807c53bbf92b

そのはず:

2940736713.1677ed0.31bb22b2b0f84befacc79c6afd025134

このサイトを使用して生成しました: http://instagram.pixelunion.net

5
pinkp

Access_tokenによるアクセスで同じ問題を解決するときにそれを見つけました

Access_tokenの取得方法については、公式のよくある質問をご覧ください

次の手順を実行するだけです(Instagram APIドキュメントへのリンク https://www.instagram.com/developer/authentication/ ):

1.CODEをリクエストする

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code

cLIENT_IDをクライアントIDに変更します(ここで取得できます https://www.instagram.com/developer/clients/manage/

クライアント設定のタブセキュリティからREDIRECT-URIをredirect_uriに変更します(上記のリンクを開き、「管理」ボタンをタップします)。私はこれを使用しました https://meyerweb.com/eric/tools/dencoder/ ここでURLをエンコードし、代わりにREDIRECT-URIを貼り付けます

準備が整ったら、ブラウザのアドレスバーへのリンクを準備して実行します

2。コードを取得する

ブラウザは事前に要求し、最後にコードを含むコールバックURLにリダイレクトします。アドレスバーでは次のようになります。

http://yoursite.some/?code=d8af5619af6853d4ad11b4dd5f1ef17e

この例では、コードはd8af5619af6853d4ad11b4dd5f1ef17e保存します。以下のaccess_tokenリクエストで使用する必要があります

3。 access_tokenリクエストを作成します

ターミナルを開いてcurlを使用します。

curl -F 'client_id=CLIENT_ID' \
-F 'client_secret=CLIENT_SECRET' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' \
-F 'code=CODE' \
https://api.instagram.com/oauth/access_token 

CLIENT_ID、CLIENT_SECRET、AUTHORIZATION_REDIRECT_URIおよびCODEを独自のデータに変更して実行します。

Curlは次のようにaccess_tokenでJSONを返します。

{
    "access_token": "fb2e77d.47a0473320504cb3ab4a1f626d174d2d",
    "user": {
        "id": "1576583",
        "username": "some",
        "full_name": "Some",
        "profile_picture": "..."
    }
}

よくやった!この例では、fb2e77d.47a0473320504cb3ab4a1f626d174d2dはaccess_tokenです。 access_token値をコピーしてアプリで使用し、コーディングを楽しんでください! :)

3
Aleksey Ozimkov