2013-03-25 77 views
0

這與此處的一些問題類似,但似乎沒有人提供幫助我的答案。我打算從c#/。Net應用程序調用圖表api來獲取特定相冊的照片,並且我收到403錯誤...有時。Facebook Graph API 403禁止錯誤

我從來沒有收到我的開發環境中的錯誤,只在生產中。我也在一小時內緩存響應,所以大多數應用程序在給定的小時內都會觸發API約20次,而不是一次。我錯誤地發現了異常,並且沒有顯示圖像,但這不是一個長期的解決方案。

var request = WebRequest.Create("https://graph.facebook.com/ALBUM_ID/photos"); 
var stream = request.GetResponse().GetResponseStream(); 

這剛剛開始發生大約一個月前,但我沒有看到任何破壞更改列表中會提示此行爲。任何洞察力將不勝感激。

更新

這在響應流中被隱藏起來。

{ 「錯誤」:{ 「消息」: 「(#4)的應用請求限制 達到」, 「類型」: 「OAuthException」, 「代碼」:4}}

我看不到我的生活,考慮到我只有幾次觸及api,我怎麼能達到極限。

+0

查看HTTP 403的內容是否存在與其相關的實際API錯誤。 – phwd 2013-03-25 14:13:01

+0

謝謝phwd。我會看到在響應再次爆發時是否還有更多。現在它工作正常,但從現在起2個小時它可能不會。 – ohiodoug 2013-03-25 14:45:03

+0

@phwd這是在響應中......'{「error」:{「message」:「(#4)已達到應用程序請求限制」,「type」:「OAuthException」,「code」:4}}' – ohiodoug 2013-03-25 17:17:52

回答

2

如果您向其中一個不需要access_token的FB圖形API端點發出GET請求,這並不意味着您不應將其包含在請求參數中。如果你像FB文檔那樣做,因爲不包含access_token,那麼在FB服務器端註冊到你的服務器機器。所以限制(不管數量是多少)都可以很容易達到。但是,如果您將用戶訪問令牌放入請求(& access_token = XXXXXX),則會請求註冊到特定用戶,因此幾乎無法達到該限制。您可以使用一個簡單的腳本對其進行測試,該腳本使用或不使用用戶access_token發出1000個請求。

注意,FB應用程序訪問令牌將不夠用,因爲您將面臨同樣的問題:請求將被註冊到應用程序access_token中,這種情況類似於在沒有access_token的情況下發出請求。

+0

似乎已經修復了我的問題 – 2014-11-09 02:00:03