Appscript - récupérer les users et ID via une API
Bonjour à tous,
Guilded a récemment mis à dispo une API en pre-release.
Je souhaite m'en servir pour récupérer la liste des membres ainsi que leurs userid.
Il semble que j'arrive à communiquer avec le serveur Guilded, mais je sèche sur l'output.
J'aimerais sortir un user.name, suivis de son user.id par ligne à partir de la ligne 10
Voici mon script actuel
function Get_Members() {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var url = "https://www.guilded.gg/api/v1/servers/Gjk9vPgl/members";
var key = ss.getRange('test!B1').getValue();
var rowCounter = 10;
var startColumn = 1;
var params = {
method: "GET",
headers: { Authorization: key },
contentType: "application/json",
};
var dataJSON = UrlFetchApp.fetch(url, params);
var data = JSON.parse(dataJSON)
for (var i = 0; i < data.length; i++){
ss.getActiveSheet().getRange(rowCounter,startColumn).setValue(data.members[i].user.name);
ss.getActiveSheet().getRange(rowCounter,startColumn +1).setValue(data.members[i].user.id);
}
Logger.log(data);
Logger.log(data.members[i].user.id);
Logger.log(data.members[i].user.name);
}
Lien du ficher test :
https://docs.google.com/spreadsheets/d/1ZUZ6utQO6cW_BAy6cMACxX2H1_zrZAIE0CTtTmdN9nc/edit?usp=sharing
Merci d'avance pour toute aide
Nyl
J'ai trouvé ma réponse
Si jamais quelqu'un a le même besoin :
function Get_Members() {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var gtable = ss.getSheetByName("guilded_table");
var url = "https://www.guilded.gg/api/v1/servers/MyServerId/members";
var key = "Bearer myTokenKey";
var params = {
method: "GET",
headers: { Authorization: key },
contentType: "application/json",
};
var dataJSON = UrlFetchApp.fetch(url, params);
var data = JSON.parse(dataJSON)
console.log(data);
let members = [];
for (var i = 0; i < data.members.length; i++){
members.push([data.members[i].user.name,data.members[i].user.id]);
}
gtable.getRange(10,1,members.length,2).setValues(members);
}