Facebook用户上下文ID和用户ID是否相同?

时间:2017-11-20 08:08:06

标签: java facebook-graph-api

我需要在Java Spring框架中获得我和朋友之间的Facebook共同朋友。

我可以得到我的朋友,他们都安装了应用程序。但无法得到共同的朋友。

我的疑问是user-context-id ..用户id和user-context-id是相同的。

如果是,我将获得例外。 {的用户上下文-ID } / mutual_friends

请有人帮我解决这个问题是什么是用户上下文ID,以及我们如何为我的朋友获取

FacebookClient facebookClient = new DefaultFacebookClient(accesstoken, Version.LATEST);
User user = facebookClient.fetchObject("me", User.class, Parameter.with("fields", "email,name,locale"));
        Connection<User> friends = null;
        String customerId = user.getId();
        String customerName = user.getName();
        String customerMail = user.getEmail();

    Connection<User> friends = facebookClient.fetchConnection("me/{user-id of the target person}/mutual_friends", User.class);

2 个答案:

答案 0 :(得分:0)

user-context-iduser-id不一样。

在Graph API中:

  • user-context-id:某人的社交背景

  • user-id: / {user-id}节点返回单个用户。 (用户代表Facebook上的某个人。)

答案 1 :(得分:0)

这将是您与朋友之间的共同朋友的正确API调用:

/[id-of-friend]?fields=context.fields(mutual_friends)

或者:

/[id-of-friend]?fields=context{mutual_friends}

当然,您必须使用您的用户访问令牌。我假设你知道你只能得到授权你的应用程序的共同朋友。

顺便说一下,如果需要,这就是如何获取&#34; Context ID&#34;:

/[id-of-friend]?fields=context{id}

示例:

facebookClient.fetchObject("831925293625800", User.class, Parameter.with("fields", "cont‌​ext.fields(mutual_fr‌​iends)"));