如何将 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。
我正在尝试获取某些 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。