facebook批量请求多个用户

Posted

技术标签:

【中文标题】facebook批量请求多个用户【英文标题】:facebook batch request for multiple users 【发布时间】:2012-03-21 14:55:25 【问题描述】:

我有一个来自 facebook 的用户数据库。我想使用批量请求获取他们的数据(兴趣和朋友的生日)。现在我可以为 1 个用户发出 1 个批量请求。但考虑到没有。我的应用中的用户数量很大,肯定会达到极限。

我想知道有没有办法在批量请求中获取多个用户数据

我尝试了以下方法,但没有成功

"access_token": "USER_A_ACCESS_TOKEN", 批次=[ “方法”:“GET”,“access_token”:“USER_A_ACCESS_TOKEN”,“relative_url”:“我/朋友”, “方法”:“GET”,“access_token”:“USER_B_ACCESS_TOKEN”,“relative_url”:“我/朋友” ]

对于用户 B 访问令牌,我也得到用户 A 访问令牌的结果

【问题讨论】:

【参考方案1】:

根据批处理请求页面上的文档

The Batch API is flexible and allows individual requests to specify their own
access tokens as a query string or form post parameter. In that case the top
level access token is considered a fallback token and is used if an individual
request has not explicitly specified an access token.

重写你原来的尝试应该是这样的

curl -F "access_token=USER_A_ACCESS_TOKEN" -F 'batch=["method": "GET", "relative_url": "me/friends?access_token=USER_A_ACCESS_TOKEN", "method": "GET", "relative_url": "me/friends?access_token=USER_B_ACCESS_TOKEN"]'

如果任何其他 access_tokens 出现错误,原始 USER_A_ACCESS_TOKEN 将用作后备

【讨论】:

请注意,Facebook 的文档声称您还可以在“json”部分中包含 access_token(例如,在 batch JSON 内的每个逻辑请求中)。不幸的是,Graph API 中似乎存在一个长期存在的错误,阻止了它的工作。 (***.com/q/10396911/114558) 因此,此处显示的方法(将access_token 附加到 URL)似乎是唯一有效的配置。

以上是关于facebook批量请求多个用户的主要内容,如果未能解决你的问题,请参考以下文章

批量应用程序到Facebook api中的用户通知

Facebook iOS SDK - 向 facebook 用户发送应用请求

Facebook SDK 收集用户信息和好友

Facebook Graph API - 来自批处理请求的同步响应

在 iOS 应用中处理多个 Facebook 用户登录

如何在用户注册期间向 Facebook 请求范围/权限