我已經開始使用 Lua 探索 Google Sheets API,雖然我可以檢索一系列值,但我只能弄清楚如何回傳一列值,但我也想回傳一行。
這是我用來檢索 Google 作業表中單元格 A1 到 D5 中的值的 Lua 代碼示例。(4列4行)
為了幫助我跟蹤來自何處的內容,我將每個單元格的名稱添加到單元格本身中。
local socket = require 'socket'
local ssl = require 'ssl'
local https = require 'ssl.https'
local body, code, headers, status = https.request("https://sheets.googleapis.com/v4/spreadsheets/[mysheetID]/values/A1:D5?key=[MyAPIkey]")
print(body)
print("---------------------")
--[[ Which returns the following…
{
"range":"Sheet1!A1:D5",
"majorDimension":"ROWS",
"values":[
[
"Cell A1",
"Cell B1",
"Cell C1",
"Cell D1"
],
[
"Cell A2",
"Cell B2",
"Cell C2",
"Cell D2"
],
[
"Cell A3",
"Cell B3",
"Cell C3",
"Cell D3"
],
[
"Cell A4",
"Cell B4",
"Cell C4",
"Cell D4"
]
]
}
]]--
要顯示一列,我執行以下操作..
local json = require "dkjson"
local j = json.decode(body)
for k,v in pairs(j.values[1]) do
print(k,v)
end
它回傳第一列(如下),而 j.values[2] 會給我第二列,依此類推..
1 Cell A1
2 Cell B1
3 Cell C1
4 Cell D1
我無法解決的是如何回傳一行,即 A1、B1、C1、D1
請有人解釋我如何從串列中檢索任何行,并能夠始終如一地執行此操作,而不管我決定檢索的單元格范圍如何?
uj5u.com熱心網友回復:
雖然我不確定您正在尋找什么(您提到您正在獲取A1, B1, C1, D1,它對應于一行),但如果您想檢索按列而不是行排序的轉置結果,您可以添加查詢引數majorDimension=COLUMNS(如果未設定此引數,則默認為ROWS,正如您在ValueRange 中看到的那樣)。
因此,您必須從以下位置更改請求的 URL:
https://sheets.googleapis.com/v4/spreadsheets/[mysheetID]/values/A1:D5?key=[MyAPIkey]
到:
https://sheets.googleapis.com/v4/spreadsheets/[mysheetID]/values/A1:D5?majorDimension=COLUMNS&key=[MyAPIkey]
參考:
- 方法:電子表格.values.get
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/341851.html
