我已经创建了一组测试用户,现在正尝试使用PHP Facebook API以编程方式将它们互相交友。以下是在F1和F2之间执行此操作的示例代码。
$b = $fb->api("/" . $f1['id'] . "/friends/" . $f2['id'] . "/?method=post&access_token=" . urlencode($a[1]));
$b = $fb->api("/" . $f2['id'] . "/friends/" . $f1['id'] . "/?method=post&access_token=" . urlencode($a[1]));
我已经检查了id的值,并且应用程序访问令牌是正确的。 $ b设置为一个带有空“data”元素的数组。根据文档,我原本期望得到真假。
当我以F1或F2登录时,既不会显示任何朋友。知道我做错了吗?
谢谢!
答案 0 :(得分:0)
感谢Darthenius的建议。我这样做了,没有进一步的运气。所以我尝试了更多的东西。下面的代码终于奏效了。对于单个用户来说,似乎有很多使用access_tokens:
$fb->setAccessToken($f1['access_token']);
$b = $fb->api('/'.$f1['id'].'/friends/'.$f2['id'], "POST");
$fb->setAccessToken($f2['access_token']);
$b = $fb->api('/'.$f2['id'].'/friends/'.$f1['id'], "POST");
这与Facebook的文档相反,后者称应用程序访问令牌将起作用。目前,请注意,当用户已经是朋友时,您需要处理522异常。
您可以获取用户当前的朋友而不是反馈他们:
//Could avoid checking members of this list:
$fb->setAccessToken($f1['access_token']);
$current_friends = $fb->api('/'.$f1['id'].'/friends', "GET");