从 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";
}

}

希望对您有所帮助!