不要认为是开发者。我是Facebook“普通用户”,我已经登录了。然后我访问朋友的'X'个人资料。作为朋友,我可以通过这个网址看到朋友X的所有朋友:
https://www.facebook.com/friendx/friends
很好......我可以关闭浏览器,当我再次打开它时,我可以访问相同的网址并查看我朋友的朋友。这很好,因为有一个cookie告诉服务器我是谁。
但是现在,我仍然登录,我想通过图形api请求检索朋友X的所有朋友,所以我访问这个网址:
https://graph.facebook.com/friendx/friends
根据文档,错误是:
请求此资源需要访问令牌。
我无法理解为什么facebook需要访问令牌。我已经登录了这两种情况。当我尝试通过图形API请求访问相同的信息时,在第二种情况下,该cookie是无用的 我的意思是:我不想解析一个完整的HTML页面,知道谁是我朋友的朋友。解析json很容易。
答案 0 :(得分:2)
Facebook API要求用户进行身份验证以发出GET请求,因此您需要一个access_token表示用户已授予您访问其朋友列表的权限。
您无法从Cookie中获取access_token,因为必须在用户批准您的应用后通过API生成。
如果您想测试图API,请考虑使用Graph API Explorer生成访问令牌并生成请求,但不应将其用作答案的解决方案。
考虑阅读the facebook documentation on access_tokens以进一步了解facebook API和身份验证的工作原理。
答案 1 :(得分:0)
facebook GraphAPI不允许我们收集属于其他人的数据。正如您所说,您可以访问该朋友的朋友,但当时您并未收集供个人使用的数据,因此这是允许的。该数据是公开的,因此您可以访问,但我当然怀疑它们是否允许我们通过GraphAPI或任何其他API访问该数据。删除Facebook数据也不符合Facebook政策。