簡體   English   中英

從 API 獲取用戶和 ID 的腳本,然后在 G-sheet A10:B 中一一列出

[英]Script to fetch users and ID from an API, then list them, one by one in G-sheet A10:B

Guilded 剛剛(預)發布了一個 API,我希望使用它從我的服務器中檢索用戶列表和用戶 ID,並將其放在 Google 表格中。 似乎我得到了信息(我在我的日志中看到),但我正在努力使用 output。 我所做的只是獲得第一個用戶和 ID。

這是我的腳本,嘗試逐行獲取所有用戶|用戶 ID。

我在這里有一個測試文件: https://docs.google.com/spreadsheets/d/1ZUZ6utQO6cW_BAy6cMACxX2H1_zrZAIE0CTtTmdN9nc/edit?usp=sharing

感謝您提供的任何幫助,

尼爾,

[編輯]我相信我for (var i = 0; i < data.length; i++)不正確,因為如果我的 logger.log 在其中,它不會返回任何內容。 這可能是由於有效負載,但我不知道如何修復它。

這是一個可以工作的腳本。

data是 object。 data中是一個members數組,因此您索引錯誤的變量。

此外,我會將所有成員數據收集到一個數組中並使用單個setValues()

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)

  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]);
  }

  ss.getActiveSheet().getRange(10,1,members.length,2).setValues(members);
  
}

執行日志

8:40:06 AM  Notice  Execution started
8:40:06 AM  Info    { members: 
   [ { user: [Object], roleIds: [Object] },
     { user: [Object], roleIds: [Object] },
     { user: [Object], roleIds: [Object] },
     { user: [Object], roleIds: [Object] },
     { user: [Object], roleIds: [Object] } ] }
8:40:06 AM  Notice  Execution completed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM