通过API在测试用户之间建立友好关系似乎不起作用

时间:2011-12-06 18:35:25

标签: testing facebook-graph-api

我已经创建了一组测试用户,现在正尝试使用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登录时,既不会显示任何朋友。知道我做错了吗?

谢谢!

1 个答案:

答案 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");