我想检查用户是否是使用 facebook graph api 的组的成员...
我有这个:
$group = file_get_contents("https://graph.facebook.com/177129325652421/members?access_token=XXXXXXXX");
$group = json_decode($group);
$checkuser = $group->data;
并通过使用他的 facebook id
和 in_array()
if(in_array($_GET["fid"],$checkuser)){
echo "yes";
} else {
echo "no";
}
有人可以帮我改正这个吗...我的代码不工作...
最佳答案
引用: https://developers.facebook.com/docs/reference/api/
使用 API 网址:
https://graph.facebook.com/me/groups
获取用户的组。在上面的链接中,将 me/
更改为用户的 FB ID。您还必须传入访问 token 。
回复将被 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
关于facebook graph api 检查用户是否是使用 PHP 的组的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10393045/