我在抓取用户的朋友方面遇到了问题。当“我”作为UID传递时,以下代码正常工作。但是当像523621551那样传递用户id时它不起作用。每个东西都在权限中设置。我得到“不支持的操作”错误。以下是代码。
public function getAllFriends($uid) {
return $this->fb->api("/" . $uid . "/friends", 'GET', array(
'access_token' => $this->fb->getAccessToken())
);
}
那么,是什么导致了这个问题呢? 我也研究了其他相关问题,但那些没有帮助。 :(
答案 0 :(得分:3)
您无法获得任何用户的朋友,您只能获得目前获得授权的用户的朋友。文档有点误导,它可能只适用于授权用户的(app范围)用户ID,但它永远不会与任何其他用户ID一起使用 - 该请求“不受支持”;)
此外,您也只能获得授权相同应用的用户,以防万一您还不知道。请参阅changelog:https://developers.facebook.com/docs/apps/changelog
编辑:我刚刚在API资源管理器中使用App Scoped ID对其进行了测试,但它确实有效,因此我假设您正在尝试按照我的预期获取其他用户的朋友 - 这是不受支持的当然。
我还使用授权用户的“真实”ID对其进行了测试,并出现以下错误:
不允许使用全局ID 1603196280。请使用该应用程序 而不是特定的ID。
有道理,你不会在应用程序中获得全局ID,只有App Scoped ID。正如我所说,你得到的错误不是很清楚但是正确:获取任何用户的朋友是“不受支持的”。