web-dev-qa-db-ja.com

OAuthPermissionsException SandboxのInstagram API

私はしばらくの間解決しようとしてきた問題に関するいくつかの入力/指示をいただければ幸いです。

Instagram APIを使用して、タグに関連するデータにアクセスしようとしています(「X」と呼びます)。 Pythonとブラウザから直接実行しようとすると、同じエラーが発生しました。

{u'meta': {u'code': 400, u'error_type':u'OAuthPermissionsException',
u'error_message': u'This request requires scope=public_content, but this
access token is not authorized with this scope. The user must re-authorize
your application with scope=public_content to be granted this permissions.'}}

これは、最初に動作させるために作成した単純なPythonコードです。

import requests

access_token = 'zzzzzzzzzzzzz'

parameters = {"q": "X",
              "scope": "public_content",
              "access_token": "zzzzzzzzzzzzz"}

response = requests.get("https://api.instagram.com/v1/tags/search",
                        params=parameters)

insta_posts = response.json()

サンドボックスに正しいURLを使用していますか? Instagram APIのドキュメントを読みました。Sandboxのアプリケーションは、スコープの変更について承認を必要としません。

また、アプリケーションはSandboxに対してのみ許可されています。

Instagram APIで定義されたアプリケーションのスクリーンキャプチャ

どんな方向でも大歓迎です。

おかげで、

マーティン

UPDATE:何が起こっているかを把握しました。最初に、アプリケーションの認可の範囲を変更する必要があります。これは私がそれをやった方法です:

大文字の単語のデータを挿入するだけです

それが完了すると、アプリケーションはそのスコープに対して承認されます。

既にアクセストークンを取得しているため、手順2と3を実行する必要はありません。

お役に立てれば。

マーティン

48
Martin Rasumoff

更新:何が起こっているかを把握しました。最初に、アプリケーションの認可の範囲を変更する必要があります。これは私がそれをやった方法です:

ブラウザから次を実行します。

https://api.instagram.com/oauth/authorize/?client_id=CLIENTID&redirect_uri=REDIRECT-URI&response_type=code&scope=SCOPE

大文字の単語のデータを挿入するだけです

それが完了すると、アプリケーションはそのスコープに対して承認されます。

既にアクセストークンを取得しているため、手順2と3を実行する必要はありません。

お役に立てれば。

マーティン

80
Martin Rasumoff

ここに素晴らしい例があります:

https://www.instagram.com/oauth/authorize?client_id=b23670e258o0fmk334jfu287c9f9953&redirect_uri=http://127.0.0.1:5000&response_type=code&scope=basic+public_content+follower_list+comments+relationships+likes

URLの最後にスコープパラメーターを追加するだけです。

&scope=basic+public_content+follower_list+comments+relationships+likes
35
threadpool