2013-08-16 45 views
3

這是否正常,我可以使用相同的access_token獲得任何用戶供稿?這裏有兩個例子。第一個來自測試賬戶,這是我應該訪問的內容。第二個來自ImagineDragons的instagram feed。Instagram訪問令牌以檢索任何用戶供稿

https://api.instagram.com/v1/users/510573486/media/recent?access_token=510573486.ab7d4b6.d8b155be5d1a47c78f72616b4d942e8d

https://api.instagram.com/v1/users/20282699/media/recent?access_token=510573486.ab7d4b6.d8b155be5d1a47c78f72616b4d942e8d

如果是這樣,爲什麼我爲了做請求請求的access_token?

回答

13

令牌是必需的,因此API不能匿名訪問。 Instagram照片是公開的,除非用戶明確將其帳戶設置爲私人。因此,能夠使用單個有效令牌訪問任何公共用戶帳戶的供稿是正常的。

令牌不會規避用戶的設置。如果您嘗試訪問被標記爲私有,你不會得到任何結果,而是接受這個響應一筆賬:

{"meta":{"error_type":"APINotAllowedError","code":400,"error_message":"you cannot view this resource"}}

+3

非常感謝,我不知道你可以有一個私人帳戶的Instagram帳戶。這現在有道理。 – David

0

大多數apis都是這樣工作的。即使你要求公開數據(即Imagine Dragon的instagram feed),他們也想知道誰在提出請求。他們可能正在追蹤它,以確保沒有人每天撥打十億次電話。

+0

這不完全正確。大多數API確實需要一個客戶端ID來識別哪個_app_發出請求。訪問令牌用於標識哪個_user_嘗試發出請求。 – akshay2000

0

據:Instagram Developer Documentation

API調用你正試圖使需要一個access_token在任何時候。通常這樣做是爲了防止連續抓取最近列表的漫遊器獲取圖像等。 Instagram可以防止這種情況的唯一方式是通過這種方式。一旦擁有令牌,您就可以瀏覽任何用戶的提要,因爲您可以在相應用戶的網頁上執行該提要。如果您不希望用戶登錄查看某個最近的列表,則可以在Instagram上註冊一個虛擬帳戶,將其記錄一次,然後存儲其access_token,將其與您的應用程序捆綁在一起,您將能夠請求最近無需提示用戶登錄即可提供。我相信這不是一個可以接受的解決方案,主要是因爲根據文檔access_token可能會隨時更改,使您的應用程序無法正常工作。當然,即使在這種情況下也有解決方案。總而言之,我認爲如果你想申請這樣的數據而不需要access_token,試試我的'解決方案'。

+0

我知道這一切。我想知道爲什麼用一個access_token我可以收集任何用戶的feed。私人的聲音讓靈敏知道。 再加上一個簡單的機器人可以克服來自www周圍的頁面,以在發出javascript請求的網站中找到這樣的access_token。令牌在GET請求中是正確的。 – David