Я не очень технический специалист, но я пытался выучить код на JavaScript, так как я остаюсь дома и решил попробовать его на API. Мне удалось успешно выполнить вызов API и сохранить ответ в массиве, но мне было трудно установить результаты на листе Google. Я буду признателен за любую помощь с этим. Вот мой код.
Вызов API:
var call_token = 'token';
var endpoint = 'projects?';
var call_url = 'url'
var pages = 2500
function get_All_Projects() {
var options = {
method: 'get',
headers: {
Authorization: 'Bearer ' + call_token
}
};
var url = call_url + endpoint +'auth='+ call_token + pages
var response = UrlFetchApp.fetch(url,options);
var info= JSON.parse(response);
var content = info.data;
var project_arr=[];
var identity={}
if(content.length > 0 ){
for (var i = 0; i<content.length; i++) {
identity.Project_ID=content[i].id
identity.Project_Name=content[i].name
identity.Project_Start_Date=content[i].starts_at
identity.Project_End_Date=content[i].ends_at
identity.Project_Status=content[i].project_state
project_arr.push(identity)
return (identity);
Logger.log(project_arr)
}
}
}
И здесь у меня возникла проблема с передачей его на страницу Google. Я не получаю ошибки, но не вижу данных, добавляемых на лист.
function getSheet() {
var info = get_All_Projects()
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
for (var j = 0; j < info.length; j++) {
sheet.getRange(2 + j, 1).setValue(info[j].Project_Status);
sheet.getRange(2 + j, 2).setValue(info[j].Project_End_Date);
sheet.getRange(2 + j, 3).setValue(info[j].Project_Start_Date);
sheet.getRange(2 + j, 4).setValue(info[j].Project_ID);
sheet.getRange(2 + j, 5).setValue(info[j].Project_Name);
}
}
Пример ответа от POSTMAN
"data": [
{
"id": 1800301,
"name": "TEST Project ONE",
"ends_at": "2020-06-30",
"starts_at": "2017-07-03",
"project_state": "Confirmed",
"tags": {
"paging": {
"self": "/api/v1/projects/1894300/tags?per_page=0&page=1",
"next": null,
"previous": null,
"page": 1,
"per_page": 0
},
"data": []
}
},
{
"id": 1800301,
"name": "TEST Project4 TWO",
"ends_at": "2020-06-30",
"starts_at": "2017-07-03",
"project_state": "Confirmed",
"tags": {
"paging": {
"self": "/api/v1/projects/1894301/tags?per_page=0& page=1",
"next": null,
"previous": null,
"page": 1,
"per_page": 0
},
"data": []
};