【问题标题】:How to use Graph API to get user's total friend count [JavaScript]如何使用 Graph API 获取用户的好友总数 [JavaScript]
【发布时间】:2017-02-08 21:58:39
【问题描述】:

在对 Facebook 的 Graph API v2.8 做了一些研究之后,我终于明白了如何使用 JavaScript 制作函数。我特别想做的是,在我让用户登录我的应用程序后,他们会点击一个按钮来获取他们的好友总数。

这是我试图用来完成此操作的代码:

HTML

<button onclick="getInfo()">Get Friend Count</button>

JavaScript

// Get Basic User Info
// TODO: Get user's friend count
function getInfo() {
FB.api('/me/friends', 'GET', {
    fields: 'total_count'
}, function (response) {
    document.getElementById('status').innerHTML = response.id;
});
}

可能是 fields 参数错误? 最终目标是我希望在我的应用程序内的用户个人资料中公开显示朋友总数。

编辑: user_friends 已获得我生成的访问令牌的授权,但我的 response.id 以未定义的形式返回。

编辑 2: 使用 Graph API Explorer 返回的数据采用 JSON 格式:

{
"id": "my_id",
"name": "my_name",
"friends": {
"data": [
],
"summary": {
  "total_count": 161
  }
 }
}

【问题讨论】:

  • 这是我能得到的最好的参考:developers.facebook.com/docs/graph-api/reference/user/friends
  • fields 参数是不必要的,total_count 无论如何都会返回。问题是您假设响应中有 id 属性。将响应对象记录到控制台并在那里检查它,或者在Graph API Explorer 中发出请求以查看您实际获得的数据结构类型。
  • @CBroe 我会给console.log 一个机会,看看结果如何。您从 Graph API 本身获得的数据是 JSON 格式。

标签: javascript html json facebook-graph-api


【解决方案1】:

请注意,我在 2017 年写了这篇文章,从那时起 API 可能已经发生了变化,尤其是在整个 Cambridge Analytica 事件发生之后。

好消息!我通过深入挖掘在此站点上找到的一些源代码解决了这个问题:http://snowadays.jp/test/fb_friend_test.html

这里是 JavaScript

function getInfo() {
FB.api('/me/friends', 'GET', {fields: 'summary'}, function(response)
{
document.getElementById('status').innerHTML = 
response.summary.total_count;
});
}

【讨论】:

    【解决方案2】:

    您的应用需要user_friends 授权,请注意API v2.0 及更高版本仅返回安装该应用的朋友
    在使用 Javascript SDK 之前,我建议使用 Graph explorer 进行一些测试

    【讨论】:

    • 对不起,忘了说我已经通过访问令牌授权了。但我的 response.id 以未定义的形式返回
    • 你有朋友在用这个应用吗?
    • total_count 返回所有朋友的计数,而不仅仅是同一个应用的用户。
    • @NicolòCozzani 我还没有朋友使用该应用程序。他们的想法是,如果他们愿意,他们将使用他们的 Facebook 信息创建一个帐户,然后能够将其他数据提取到他们的公共个人资料中。
    • @CBroe 当有人使用 Facebook 登录我的应用程序,或者甚至稍后连接它时 - 我希望他们的朋友数量显示在我的应用程序的公共个人资料中。我以前见过这样做,但不确定如何使用 Graph API 来实现。
    猜你喜欢
    • 2016-04-19
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多