从 facebook 组中选择最喜欢 post
Choosing most liked post from facebook group
好吧,这是我正在使用的 json 文件 http://herbalista.hol.es/group.json JSON.parse();在 Google 应用程序脚本上。我通过选择超过 15 个喜欢的 post 暂时解决了这个代码,但是如果有或不超过 15 个喜欢,我想独立地选择有更多喜欢的那个。
function repost() {
var UsrAccess_token = "xxxxxxxxx"
var graph = "https://graph.facebook.com/xxxxxx/feed/?access_token="+UsrAccess_token+"";
var jsondata = UrlFetchApp.fetch(graph,{method:"get"}).getContentText();
var object = JSON.parse(jsondata);
var item = object.data;
var currentTime = new Date();
var year = currentTime.getUTCFullYear();
var month = (currentTime.getUTCMonth()) + 1;
var day = (currentTime.getUTCDate()) - 1;
if (day <= 9) {var day = "0"+day+"";}
if (month <= 9) {var month = "0"+month+"";}
var utime = ""+year+"-"+month+"-"+day+"T";
try {
var i = null;
for (i = 0; item.length > i; i += 1) {
var pubDate = item[i].created_time;
if (pubDate.match(utime)) { var likesdata = item[i].likes.data; var len = likesdata.length;
if (len > 15) {var popular = item[i].link;}}
}} catch(err) {
var err = "ERROR";
}
}
为此,您可以为 var maxLikes = 0;
之类的变量选择一个默认值,并根据 len
变量进行验证。
代码应该是这样的:
function repost() {
var UsrAccess_token = "xxxxxxxxx"
var graph = "https://graph.facebook.com/xxxxxx/feed/?access_token="+UsrAccess_token+"";
var jsondata = UrlFetchApp.fetch(graph,{method:"get"}).getContentText();
var object = JSON.parse(jsondata);
var item = object.data;
var currentTime = new Date();
var year = currentTime.getUTCFullYear();
var month = (currentTime.getUTCMonth()) + 1;
var day = (currentTime.getUTCDate()) - 1;
if (day <= 9) {var day = "0"+day+"";}
if (month <= 9) {var month = "0"+month+"";}
var utime = ""+year+"-"+month+"-"+day+"T";
try {
var i = null;
var maxLikes = 0;
for (i = 0; item.length > i; i += 1) {
var pubDate = item[i].created_time;
if (pubDate.match(utime)) {
var likesdata = item[i].likes.data;
var len = likesdata.length;
if (len > maxLikes) {
maxLikes = len;
var popular = item[i].link;
}
}
}
} catch(err) {
var err = "ERROR";
}
}
希望对您有所帮助!
好吧,这是我正在使用的 json 文件 http://herbalista.hol.es/group.json JSON.parse();在 Google 应用程序脚本上。我通过选择超过 15 个喜欢的 post 暂时解决了这个代码,但是如果有或不超过 15 个喜欢,我想独立地选择有更多喜欢的那个。
function repost() {
var UsrAccess_token = "xxxxxxxxx"
var graph = "https://graph.facebook.com/xxxxxx/feed/?access_token="+UsrAccess_token+"";
var jsondata = UrlFetchApp.fetch(graph,{method:"get"}).getContentText();
var object = JSON.parse(jsondata);
var item = object.data;
var currentTime = new Date();
var year = currentTime.getUTCFullYear();
var month = (currentTime.getUTCMonth()) + 1;
var day = (currentTime.getUTCDate()) - 1;
if (day <= 9) {var day = "0"+day+"";}
if (month <= 9) {var month = "0"+month+"";}
var utime = ""+year+"-"+month+"-"+day+"T";
try {
var i = null;
for (i = 0; item.length > i; i += 1) {
var pubDate = item[i].created_time;
if (pubDate.match(utime)) { var likesdata = item[i].likes.data; var len = likesdata.length;
if (len > 15) {var popular = item[i].link;}}
}} catch(err) {
var err = "ERROR";
}
}
为此,您可以为 var maxLikes = 0;
之类的变量选择一个默认值,并根据 len
变量进行验证。
代码应该是这样的:
function repost() {
var UsrAccess_token = "xxxxxxxxx"
var graph = "https://graph.facebook.com/xxxxxx/feed/?access_token="+UsrAccess_token+"";
var jsondata = UrlFetchApp.fetch(graph,{method:"get"}).getContentText();
var object = JSON.parse(jsondata);
var item = object.data;
var currentTime = new Date();
var year = currentTime.getUTCFullYear();
var month = (currentTime.getUTCMonth()) + 1;
var day = (currentTime.getUTCDate()) - 1;
if (day <= 9) {var day = "0"+day+"";}
if (month <= 9) {var month = "0"+month+"";}
var utime = ""+year+"-"+month+"-"+day+"T";
try {
var i = null;
var maxLikes = 0;
for (i = 0; item.length > i; i += 1) {
var pubDate = item[i].created_time;
if (pubDate.match(utime)) {
var likesdata = item[i].likes.data;
var len = likesdata.length;
if (len > maxLikes) {
maxLikes = len;
var popular = item[i].link;
}
}
}
} catch(err) {
var err = "ERROR";
}
}
希望对您有所帮助!