3

我有一個應用程序使用Facebook的JavaScript和c#sdk。有一天,我得到了error 4 : Application request limit reached.在facebook應用程序儀表板中,我看到了這一點。什麼是gr:get:Facebook Graph Api中的用戶?應用程序限制達到錯誤

Too Many Calls - 1 hour, 50 minutes 

Method       Fraction of Budget 
gr:get:User      115% 
gr:get:Post/likes    6.3% 
gr:get:User/likes    0.26% 
gr:post:Event/attending   0.05% 
ui:permissions.request:popup:p 0.01% 
ui:feed:iframe:post:   0.01% 
gr:get:/schema     0% 
ui:permissions.request:async:g 0% 

我假設在gr:get:User「gr」表示圖形。然後get:User我想有隻限於呼叫從

FB.api('/me', function (data) { ... 

的JavaScript SDK將登錄從JavaScript SDK也作出相同的get:User呼叫的用戶????

FB.login(function (response) { ....... 

這些只是爲了添加到gr的方式:get:User calls?也許這是得到:用戶是所有得到的總和:喜歡+得到:帖子+得到:朋友?這似乎沒有任何意義,我們正在達到獲取用戶請求的限制。

我們確實有一些頁面在單個頁面上最多有40個喜歡,現在我們擁有了它(不是一個好的方法來做到這一點,並且將會改變)我們使用<fb:Like ...來渲染這些像按鈕,和旁邊的每個樣動作,我們有

 $(function() { 
     (function (d, s, id) { 
      var js, fjs = d.getElementsByTagName(s)[0]; 
      if (d.getElementById(id)) return; 
      js = d.createElement(s); js.id = id; 
      js.src = "https://connect.facebook.net/en_US/all.js#xfbml=1&[email protected]"; 
      fjs.parentNode.insertBefore(js, fjs); 
     } (document, 'script', 'facebook-jssdk')); 

因此,這意味着每個像按鈕有一個Ajax調用對於Facebook,也暫且它正在多達40個電話獲得all.js文件從Facebook。做這些計爲gr:get:用戶調用?他們是否可以添加到達到限制的呼叫數量?

更新

我之所以問我們的代碼什麼叫被觸發GR:得到:用戶是因爲據我可以看到它看起來像一個惡意用戶試圖登錄反覆。我只是尋找確認,沒有其他的圖形api調用可以添加到gr:get:用戶數。

當我們打電話從javascript sdk登錄用戶時,您發送的所有內容都是您的應用ID,因此我無法設置不同的訪問令牌。一旦用戶登錄,那麼我們確實使用了用戶身份驗證令牌

再次更新

我們得到的任何用戶嘗試從都向Facebook發出任何呼叫error 4 : Application request limit reached.再次,這個被拋出的任何時間這個程序。這不是每個(用戶,應用程序)錯誤。任何身體都有什麼線索會導致這種情況或如何預防這種情況?

回答

0

基本上你是對的,每個Like按鈕對用戶信息發出請求,以顯示已經喜歡這個頁面的朋友。

我想你可以嘗試插入像通過Facebook JS SDK,你已經裝載all.js腳本後,才按鈕。在這種情況下,您將避免使用all.js的額外請求,並且您還將避免對用戶信息的額外請求,因爲它將通過js sdk緩存在客戶端。

相關問題