J'ai le script Google App suivant qui renvoie finalement une matrice, mais je suis capable de modifier les lignes et d'utiliser la méthode appendRow parce que j'essaie de l'appeler fonction.Impossible de générer ou enregistrer la réponse de l'API à partir de la fonction personnalisée dans la feuille Google
En consultant d'autres questions connexes sur stackoverflow et la documentation GAS, quelle que soit la fonction personnalisée renvoyée, elle doit s'afficher dans la cellule à partir de laquelle elle a été appelée.
Je suis en mesure de voir le retour en utilisant le GAS Logger dans l'éditeur de script Google, mais c'est tout. Comment puis-je imprimer sur la feuille à la place ou sinon enregistrer et exporter cette réponse?
La réponse de l'échantillon ressemble:
[[diy_move, forward_mail, update_account, renters_insurance, recommended_provider, utility, home_service, offer, share],
[forward_mail, update_account, utility, home_service, offer, share]]
// Get current row
function getActiveRow() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var activeRow = sheet.getActiveCell().getRow();
return activeRow;
}
// call updater api
function getSteps() {
var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
var userIds = [];
var sheet = SpreadsheetApp.getActiveSheet();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sss = ss.getSheets()[0];
var range = sheet.getRange(getActiveRow(), 1, 1, 1);
var id = range.getValues();
function first(list) {
return list[0];
}
function getProperty(property) {
return function (item) {
return item[property];
}
}
var getCode = getProperty('code');
var userIds = values.map(first);
var headers = {
// auth
"Content-Type": "application/json",
"app": "company",
"uid": "[email protected]",
"client": "*****",
"access-token": "*****"
};
var options = {
"method": "GET",
"headers": headers
//"muteHttpExceptions": true
};
function callApi(id) {
var url = "http://api.updater.com/v2/item_definitions?user_id=" + id;
var response = UrlFetchApp.fetch(url, options)
var json = response.getContentText();
var data = JSON.parse(json);
return data.map(getCode);
}
function createSupersteps(ids) {
return ids.map(callApi);
}
Logger.log(createSupersteps(userIds));
sss.appendRow(createSupersteps(userIds));
//createSupersteps(userIds)
}
Malheureusement, cela n'a pas aidé - je reçois toujours l'erreur 'Vous n'avez pas la permission d'appeler appendRow' – phizzy