1

Ну, вот json-файл http://herbalista.hol.es/group.json Я работаю с JSON.parse(); в скрипте приложений Google. Я временно решаю с помощью этого кода, выбрав пост, которому больше 15 нравится, но я хочу выбрать тот, у кого больше нравится независимо, если есть или не более 15 нравится.Выбор наиболее понравившегося сообщения из группы facebook

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

ответ

0

Для этого вы можете выбрать значение по умолчанию для переменной, как 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"; 
} 

}

Надежда, что помогает!

+0

спасибо за ваш ответ, я попробую, но он говорит, что самое понравившееся сообщение имеет 6.0, но на самом деле самое популярное сообщение имеет 39,0, и я не знаю почему ... –

+0

Мой исходный код работает хорошо, но Я не хочу полагаться на значение по умолчанию, потому что код всегда будет выбирать значение выше, чем значение по умолчанию, но если его нет, он не выберет никого, и идея состоит в том, что код всегда будет выбирать один: самый высокий независимо, если есть или не выше, чем значение по умолчанию. –

+0

Я не могу понять ваш комментарий. Травник, код KRR работает нормально, 'maxLikes' является самым высоким в текущей дате, а' популярным' является этот пост, если вам нужна дополнительная помощь, повторите свой вопрос с добавленной информацией или начало другой вопрос. – Kriggs

Смежные вопросы