4

我要檢查如果用戶使用Facebook的圖形API組的成員組的成員......Facebook的圖形API檢查用戶是否是使用PHP

我有這樣的:

$group = file_get_contents("https://graph.facebook.com/177129325652421/members?access_token=XXXXXXXX"); 
$group = json_decode($group); 

$checkuser = $group->data; 

,並檢查用戶是否是用他的facebook idin_array()

if(in_array($_GET["fid"],$checkuser)){ 

echo "yes"; 

} else { 

echo "no"; 
} 

有人可以幫我一個成員來糾正這個,請...我的代碼是不工作...

回答

4

參考:https://developers.facebook.com/docs/reference/api/

使用API​​網址:

https://graph.facebook.com/me/groups 

要獲得用戶的組。在上面的鏈接中,將me/更改爲用戶的FB ID。您還必須傳入訪問令牌。

回覆將被JSON編碼。使用json_decode將它解碼爲PHP關聯數組。迭代它並檢查你想要的組。圖表API不會一次返回所有組。您必須使用每個響應末尾的分頁鏈接來獲取更多,或使用參數limit來請求儘可能多的參數。

下面的代碼示例將發佈組的ID你

<?php 

$url = "https://graph.facebook.com/me/groups?access_token=AAAAAAITEghMBAMDc6iLFRSlVZCoWR0W3xVpEl1v7ZAxJRI3nh6X2GH0ZBDlrNMxupHXWfW5Tdy0jsrITfwnyfMhv2pNgXsVKkhHRoZC6dAZDZD"; 
$response = file_get_contents($url); 

$obj = json_decode($response); 

foreach($obj->data as $value) { 
    echo $value->id; 
    echo '<br>'; 
} 

/* to check for existence of a particular group 

foreach($obj->data as $value) { 
    if ($value->id == $yourID) { 
     //found 
     break; 
    } 

    //not found. fetch next page of groups 
} 

*/ 

PS的一部分 - 如果運行上面的代碼給你一個錯誤,指出Could not find wrapper for "https",您需要取消註釋/添加PHP擴展extension=php_openssl.dll

+1

先生,我試了一下..但結果是空的... –

+0

好吧,張貼一個例子 – xbonez

+0

OK先生......感謝 –

3

正在研究此問題,並在Google中找到第一個答案,但答案似乎很麻煩,所以我挖得更深一點。

我發現的最快速的答案不需要遍歷所有組的成員使用FQL

SELECT gid, uid FROM group_member WHERE uid = (user id) AND gid = (group id)

這或者返回一個空「數據」對象,或與UID和GID一個「數據」對象。

它也(從我目前看到的),不需要user_groups權限。

https://developers.facebook.com/tools/explorer?fql=SELECT%20gid%2C%20uid%20FROM%20group_member%20WHERE%20uid%20%3D%20551549780%20AND%20gid%20%3D%20282374058542158

這FQL查詢返回:

{ 
    "data": [ 
    { 
     "gid": "282374058542158", 
     "uid": "551549780" 
    } 
    ] 
} 
2

這似乎不是圖形API V2.4之後是可能的,因爲Facebook決定禁止它: https://developers.facebook.com/docs/apps/changelog#v2_4

「user_groups權限已被棄用,開發人員可能會繼續使用user_managed_groups權限來訪問某個人是管理員的組。通過/ v2。4/{user_id}/groups edge仍然可以在v2.4中使用。「

它還規定」從2015年10月6日起,在所有先前的API版本中,這些端點將返回空數組。「但似乎對我來說,它仍然適用於V2.2 & V2.3。

相關問題