2015-11-23 33 views
38

我希望能夠解決一段時間的問題時能夠找到一些輸入/指導。OAuthPermissionsException在沙盒中的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文檔,沙盒中的應用程序不需要任何類型的範圍更改批准。

此外,應用程序被授權僅沙箱:

Screen Capture of Application Defined in Instagram API

任何方向將不勝感激。

感謝,

馬丁

UPDATE:想通了事情的原委。需要首先更改應用程序的授權範圍。這是我做的:

只需要插入您的歌詞數據以大寫

一旦做到這一點,該應用程序被授權用於該範圍。

正如我已經訪問令牌,我並不需要做的步驟2和3

希望這有助於。

馬丁

+0

我也有這個問題!該應用程序在沙箱模式下運行,我無法獲得任何內容。奇怪.. – tubu13

+0

嗨tubu13 ...我會繼續研究如何解決這個問題。請讓我知道,如果你發現任何東西...任何線索是受歡迎的。我也會這樣做。乾杯。 –

+0

嗨tubu13,解決了它...你需要改變授權的範圍與Instagram之前打電話給API。我將在原文中解釋這一點。希望能幫助到你。 –

回答

68

更新應用程序:想通了事情的原委。需要首先更改應用程序的授權範圍。這是我做的:

從你的瀏覽器中執行:

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

只需要插入您的歌詞數據以大寫

一旦做到這一點,該應用是否被授權那個範圍。

由於我已經有訪問令牌,所以我不需要執行第2步和第3步。

希望這會有所幫助。

馬丁

+0

這個工程!這很奇怪,在文檔中找不到任何提及的東西。相反,它表示客戶端自動訪問Sandbox用戶數據。 –

+1

是啊,馬科斯......我在文檔中找不到它......它花了很多時間找到......很高興它有幫助。 –

+0

感謝:) – jrran90

-8

明顯,你收到它ACCESS_TOKEN不允許public_content範圍

+1

他的應用程序運行在沙箱模式下,並根據文檔,他不需要任何權限 – tubu13

29

這裏有一個很好的例子:

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 
+0

感謝您發佈實際範圍參數!只有更好的辦法是將URL包含在關於範圍的文檔中。 – rockfakie

+0

它的工作,ü保存我的小時數。謝謝你... – baj9032