我在这里搜索了高低不同的答案但是却找不到任何东西。如果可以,请回答,感谢。
设置:
我通过使用其中一个示例作为基础学习如何使用PHP Facebook API SDK。我是使用API的新手,所以我有点困惑,并且在尝试列出用户组时遇到了问题。
问题:
我已经制作了应用程序。我有适当的权限和扩展权限。我能够获得用户名和基本信息。
我认为我的问题是访问获取用户组所需的扩展权限所需的访问令牌。我不确定我是否正确地将它发送到API。
这就是我所拥有的:
<?
if($user_id) {
// We have a user ID, so probably a logged in user.
// If not, we'll get an exception, which we handle below.
try {
$access_token = $facebook->getAccessToken();
$user_profile = $facebook->api('/me','GET');
$user_groups = $facebook->api('/me/groups','GET', array( 'access_token=' => $access_token ));
echo "Name: " . $user_profile['name'];
echo "<br />";
echo "Groups: " . $user_groups['name'];
} catch(FacebookApiException $e) {
// If the user is logged out, you can have a
// user ID even though the access token is invalid.
// In this case, we'll get an exception, so we'll
// just ask the user to login again here.
$args['scope'] = 'user_groups,user_likes';
$login_url = $facebook->getLoginUrl($args);
echo 'Please <a href="' . $login_url . '">login.</a>';
error_log($e->getType());
error_log($e->getMessage());
}
} else {
// No user, print a link for the user to login
$args['scope'] = 'user_likes,user_groups';
$login_url = $facebook->getLoginUrl($args);
echo 'Please <a href="' . $login_url . '">login.</a>';
}
?>
感谢任何帮助。
感谢。
答案 0 :(得分:0)
我不太确定,但这里有几点:
使用facebook sdk时没有理由手动添加访问令牌,这些将为您添加访问令牌。应该是:
$ user_groups = $ facebook-&gt; api('/ me / groups','GET');
“/ me / groups”的json编码结果的格式与“/ me”的格式完全不同。 如果“/ me”的结果只是一组键/值数据,则“/ me / groups”的结果将包含在“data”参数中,该参数是一个对象数组。 正如它在User Object documentation中所述(在 groups 连接下):
包含版本的对象数组(old-0或new Group-1), name,id,administrator(如果用户是该组的管理员) 和bookmark_order(在组书签列表中的什么位置 主页,该组显示给用户)。
如果对facebook如何回复不同查询有疑问,请使用Graph Explorer tool,您可以使用result for /me测试不同的查询,并查看Facebook返回的回复。 例如result for /me/groups和{{3}}