如何将 Facebook 群组的成员数量收集到 Google 电子表格中?

How can I scrape the member count of Facebook groups into a Google Spreadsheet?

我正在尝试获取某些 Facebook 群组的成员数量。我尝试使用 Facebook Graph API 但它不起作用:

function facebook(url) {
  var jsondata = UrlFetchApp.fetch('http://graph.facebook.com/http://www.facebook.com/groups/449592401822610/?ref=br_rs');
var object = Utilities.jsonParse(jsondata.getContentText());
return object.shares;
}

可以吗? 感谢您的帮助

[更新] 有时我没有组的 ID。我写这个是为了解决这个问题,但它不起作用...

function facebook(group) {
  if (isNaN(group) == true) {
    var jsondata1 = UrlFetchApp.fetch('https://graph.facebook.com/search?q='+group+'&type=group&access_token={my token}');
    var object1 = Utilities.jsonParse(jsondata1.getContentText());
    var id = object1.data.id;

    var jsondata2 = UrlFetchApp.fetch('https://graph.facebook.com/v2.5/'+id+'/members?summary=true&access_token={my token}');
    var object2 = Utilities.jsonParse(jsondata2.getContentText());
    return object2.summary.total_count;
  }
  else {
    var jsondata = UrlFetchApp.fetch('https://graph.facebook.com/v2.5/'+group+'/members?summary=true&access_token={my token}');
    var object = Utilities.jsonParse(jsondata.getContentText());
    return object.summary.total_count;
  }
}

有什么想法吗?

看起来你代码中的URL是错误的,我猜应该是

http://graph.facebook.com/groups/449592401822610/?ref=br_rs

使用图形API

https://graph.facebook.com/v2.5/449592401822610/members?summary=true&access_token={user-access_token}

如果是封闭群,你会得到这样的回复

{
 "data": [

],
"summary": {
  "total_count": 4113
}
}

如果是 public 群组,您还将在 数据 部分

中收到成员详细信息

祝你好运

注意:这只会 return 计数 <5000 名成员。如果您的组接近 5000 或超过 5000,它将 return 4897、4756 或其他一些 "random" 数字,但绝不会 return 超过 5000。