У меня есть скрипт в скрипте приложений Google, который вызывает api графика Facebook, а затем анализирует данные на листе Google. Все работало нормально, пока два дня назад я не начал получать ошибку «Не удается прочитать свойство« количество »неопределенного».
Когда я вызываю API, я получаю это обратно
{
"data": [
{
"permalink_url": "url?substory_index=0",
"created_time": "time",
"message": "message"
"shares": {
"count": 455
},
"reactions": {
"data": [
],
"summary": {
"total_count": 555,
"viewer_reaction": "NONE"
}
},
"comments": {
"data": [
],
"summary": {
"order": "ranked",
"total_count": 345,
"can_comment": false
}
Но затем, когда скрипт пытается запуститься, он получает ошибку «Не удается прочитать свойство «количество» неопределенного». Ошибка относится к этой строке в моем скрипте
rows.push([new Date(),data.created_time,data.message,data.permalink_url,data.shares.count,data.reactions.summary.total_count,data.comments.summary.total_count
Он не работает только для data.share.count и data.reactions.summary.total_Count.
У кого-нибудь есть идеи, что могло внезапно пойти не так?
Весь скрипт
function getAPIdata() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('sheetname');
var range = sheet.getRange("A:C");
var response = UrlFetchApp.fetch("API CALL");
var dataAll = JSON.parse(response.getContentText());
var dataSet = dataAll.data;
var rows = [],
data;
for (i = 0; i < dataSet.length; i++) {
data = dataSet[i];
rows.push([new Date(),data.created_time,data.message,data.permalink_url,
data.reactions.summary.total_count
,data.comments.summary.total_count,data.insights.data[1].values[0].value,data.insights.data[2].values[0].value,data.insights.data[3].values[0].value,data.insights.data[0].values[0].value['link clicks'],data.insights.data[0].values[0].value['photo view'],data.insights.data[0].values[0].value['other clicks'],data.insights.data[0].values[0].value['video play'],data.insights.data[4].values[0].value,data.insights.data[5].values[0].value,data.insights.data[6].values[0].value,data.insights.data[7].values[0].value["like"],data.insights.data[7].values[0].value["love"],data.insights.data[7].values[0].value["wow"],data.insights.data[7].values[0].value["haha"],data.insights.data[7].values[0].value["sorry"]]); //your JSON entities here
}
Logger.log(rows)
//sheet.getRange(getlastRow() + 1, 1, rows.length, 2).setValues(rows);
sheet.getRange(sheet.getLastRow() + 1, 1, rows.length, 22).setValues(rows);
/**
* Removes duplicate rows from the current sheet.
*/
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheetname');
var data = sheet.getDataRange().getValues();
data.reverse(); //reverses the row order.
var last=sheet.getLastRow();
var newData = new Array();
for(i in data){
//Logger.log(i);
var row = data[i];
//Logger.log(row[5]);
var duplicate = false;
for(j in newData){
//Logger.log(newData[j][3]);
if(row[3] == newData[j][3]){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
newData.reverse(); // reverses your data back to its original order.
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
//
//