Facebook'Friends.getAppUsers'使用Graph API

Ric*_*ard 87 facebook facebook-graph-api facebook-friends

我有一个应用程序使用旧的REST API调用Friends.getAppUsers来获取已授权我的应用程序的当前用户的朋友列表.

我已阅读文档,如何使用Graph API执行此操作?这样的例子是什么?

Ale*_*lex 119

我搜索了一会儿,我也认为使用Graph API是不可能的.

但是,我发布了一个类似的问题,旧的GetAppUsers调用的替换,以查看使用我的应用程序的用户的朋友?,对于我使用的特定API,给出了一个很好的一般答案.

https://graph.facebook.com/me/friends?fields=installed
Run Code Online (Sandbox Code Playgroud)

或更一般地说

https://graph.facebook.com/{user id}/friends?fields=installed
Run Code Online (Sandbox Code Playgroud)

这将返回所有朋友,并为使用该应用程序的朋友提供附加字段"installed = true".

这是在Graph API Explorer中使用的:

  • 在撰写本文时,此查询将返回所有朋友(即使`installed`不为true).我们需要手动检查每个用户是否存在`installed`字段. (5认同)
  • 是的; 我用这个答案回答了你的问题:http://facebook.stackoverflow.com/questions/7956639/getappusers-using-c-sharp-opengraph-sdk/7957310#7957310 (4认同)
  • 假设您没有使用任何其他字段(例如电子邮件,生日等),为了完整性,请使用`/ me/friends?fields = id,name,installed`,它保留字段顺序和标准信息.返回没有`?fields =`被定义(2012/12/05为真). (3认同)
  • 该查询检查安装的应用程序是什么? (2认同)

lou*_*ork 27

这可以使用FQL完成.

SELECT uid FROM user
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = ?)
AND is_app_user = 1
Run Code Online (Sandbox Code Playgroud)

QED!

  • 你也可以使用`me()`而不是? (3认同)

typ*_*ror 8

是的,Graph API 记录非常糟糕.我没有看到任何"应用程序" 类型的文档,但它们确实在文档中引用了应用程序的信息:

https://graph.facebook.com/2439131959

那么,也许您可​​以使用Group语法获取应用程序的成员?

https://graph.facebook.com/2439131959/members

您需要一个经过身份验证的会话来测试它.否则,看起来Facebook正在推动我们使用FQL直接发送查询:

http://developers.facebook.com/docs/reference/fql/application

您可以通过获取https://api.facebook.com/method/fql.query?query=QUERY来执行FQL查询 .您可以使用format query参数将响应格式指定为XML或JSON.

因此,您可以传递FQL查询以获取有关应用程序的信息.

  • 使用FQL完成所需的一切(除了发布)可能更容易.在最糟糕的情况下,Graph API不会为您提供所需的一切,而且最多也会让人难以理解如何做到这一点. (4认同)
  • 啊.似乎轻微切换到图形api更像是我原本希望的头痛. (2认同)

小智 6

旧的REST API:

$facebook->api_client->friends_getAppUsers();
Run Code Online (Sandbox Code Playgroud)

新图API:

$facebook->api(array('method' => 'friends.getAppUsers'));
Run Code Online (Sandbox Code Playgroud)

  • 此SDK方法调用使用旧的rest api.这不是图api :-( (4认同)

Ric*_*ard 5

我在这个问题上做了很多调查.据我所知,没有办法Friends.getAppUsers使用Graph API.Facebook提供的最新SDK都使用旧的REST API来吸引使用该应用程序的朋友.

  • 这是相当古老的,不再是正确的答案.在顶部查看Alex的答案. (6认同)