2015-09-11 94 views
0

我正在構建一個仍在開發中的新應用程序,即我是唯一的用戶。用戶在前端進行身份驗證,然後將Facebook訪問令牌傳遞到後端。我想在後端驗證該令牌以確保它仍然有效,它與此應用程序匹配,並且用戶匹配。如how to verify facebook access token?(和the official Facebook docs)中所述,可通過致電graph.facebook.com/debug_token完成此操作。Facebook GraphAPIE錯誤:(#4)已達到應用程序請求限制 - 首次請求

當我從本地機器進行此調用時,它工作正常。當我使用Graph API Explorer調試工具時,它工作正常。它曾經從我的後端做工精細,太,但前幾天就停止工作,現在我每次得到這個錯誤我做這樣的判斷:

GraphAPIError: (#4) Application request limit reached

我不可能有,因爲超過了任何限制API調用的總數很少(這個應用程序仍處於開發模式,並且我每次登錄時只進行一次調用,不進行任何批處理,也不嘗試讀取提要等)。事實上,我在某一天發出的第一個請求會導致這個錯誤。這裏的API調用我正在總數的Facebook的圖形:

Facebook API Usage and Performance

有許多關於同樣的錯誤問題,如Facebook Application Request limit reached,然而,在所有這些情況下,似乎用戶實際上超出了一些請求限制,而在這種情況下,這似乎不可能。這個錯誤似乎有誤導性。

我的後端是用Python編寫的,託管在Google App Engine上。

任何想法可能導致此?

回答

1

事實證明,這與配額完全無關。這是Python代碼中的一個錯誤。這是我正在做的(使用Facebook Python SDK)。

import facebook 
    app_access_token = facebook.get_app_access_token(
     FACEBOOK_KEYS['consumer_key'], FACEBOOK_KEYS['consumer_secret']) 
    graph = facebook.GraphAPI(app_access_token) 
    token_info = graph.get_object("debug_token?input_token=%s" % 
            access_token) 

我改變的最後一行以下:

token_info = graph.get_object("debug_token", input_token=access_token) 

現在,它的工作原理。錯誤完全是誤導。我想Facebook會感到困惑,並沒有看到正確的標記。我向Facebook提交了一個錯誤報告,希望至少可以改善錯誤信息。