2017-05-18 71 views
0

我想從Facebook獲得共同朋友,但它給了我錯誤的結果。共同的朋友總數計數這我得到的是正確的,但是當數據被用戶不來從facebook獲取錯誤的共同朋友計數

請求

https://graph.facebook.com/v2.8/1744744292507346?fields=context.fields(mutual_friends{name,picture.type(large)})&access_token=access_token 

響應

{ 
    "context": { 
     "mutual_friends": { 
     "data": [ 
      { 
       "name": "Gaurav Varshney", 
       "picture": { 
        "data": { 
        "is_silhouette": false, 
        "url": "https://scontent.xx.fbcdn.net/v/t1.0-1/p200x200/15541198_1872071033026134_3669335060573505093_n.jpg?oh=d4a95ee6cdb8d401be06e8f10fbf6d50&oe=59B0C911" 
        } 
       }, 
       "id": "1919297771636793" 
      } 
     ], 
     "paging": { 
      "cursors": { 
       "before": "MTkxOTI5Nzc3MTYzNjc5MwZDZD", 
       "after": "MTkxOTI5Nzc3MTYzNjc5MwZDZD" 
      } 
     }, 
     "summary": { 
      "total_count": 2 
     } 
     }, 
     "id": "dXNlcl9jb250ZAXh0OgGQHYKW1ALzRNZBAkUhMk2uDFtLZBBkzlasCZAq98zEqnPZBjqy7beHZBJZCVZB7STTw6yMnKC0w4qDA05ZBOGQ3RdRoPjfi1cbAmnChBQ1xLYpJuuKrIEZD" 
    }, 
    "id": "1744744292507346" 
} 

我只獲得自TOTAL_COUNT 1個朋友正在顯示2.可以告訴我我在哪裏做錯了嗎?我怎樣才能使用分頁?

當嘗試打all_mutual_friends

https://graph.facebook.com/v2.8/1744744292507346?fields=context.fields(all_mutual_friends{name,picture.type(large)})&access_token=access_token 

{ 
    "error": { 
     "message": "(#10) To use all_mutual_friends on behalf of people who are not admins, developers and testers of your app, your use of this endpoint must be reviewed and approved by Facebook. To submit this feature for review please read our documentation on reviewable features: https://developers.facebook.com/docs/apps/review", 
     "type": "OAuthException", 
     "code": 10, 
     "fbtrace_id": "HF3ZO8U3eLW" 
    } 
} 
+0

total_count是兩個用戶共同的朋友總數;但是隻有在數據結構中返回的朋友纔是同一個應用的用戶。 – CBroe

+1

如果你想要那些不是你的應用的用戶的共同朋友,那麼你需要使用'all_mutual_friends'來代替。 – CBroe

+0

它仍然不起作用 – user6551529

回答

0

目前缺乏有關該功能的文檔,我不得不挖了。主要關於如何用Graph API來請求。

這就是我正在做的,它是工作,有一定的缺陷,我稍後會解釋:

比方說,我們在這裏有a和UserB。您需要收集每個用戶的上下文ID並將其保存在服務器端,因爲它必須稍後使用。

因此,UserA連接並想要請求已經連接的UserB的共同朋友。你將需要做的是:

用戶A FB圖形請求,利用這樣的:

/'{{UserB context-id}}/all_mutual_friends?limit=5000', 'get'

也發送用戶A fbaccesstoken

我使用極限5000,以避免對數據結果分頁。

現在,破綻:

的all_mutual_friends是給我有些頭疼。當然,我可能是完全錯誤的,但我調試了好幾天,當功能仍處於開發模式並且沒有被FB公開/授權時,Facebook似乎存在一些問題。不知道,我需要徵求在生產中看到這一點。

在我的應用程序中,我意識到有時會有一些mutual_friends沒有實際列出,它不是腳本的錯誤,但可能是一些用戶配置,以避免使用此問題或某些Facebook問題。 IDN。

無論如何,這是你應該請求共同的朋友的方式。

希望它有幫助。