gpt4 book ai didi

ios - 如何在 Swift 中写入 Google 表格

转载 作者:搜寻专家 更新时间:2023-10-30 23:07:42 26 4
gpt4 key购买 nike

我正在尝试按照 this google api 写入 Google 表格文档,但我没有取得太大的成功。我什至不确定我是否遵循了正确的 API,因为它说“Appscript”并且看起来像 Swift。

我已经能够使用以下方法从工作表中读取数据:

private let scopes = [kGTLRAuthScopeSheetsSpreadsheets]
private let service = GTLRSheetsService()

override func viewDidLoad() {
super.viewDidLoad()
self.service.authorizer = GIDSignIn.sharedInstance().currentUser.authentication.fetcherAuthorizer()
getData()
}

func getData() {
let spreadsheetId = "1OAbhzY7RlfCEre-I5e-Kcgz16eHz2cGpO9HZKOiizCs" // Portfolio
let query = GTLRSheetsQuery_SpreadsheetsValuesGet.query(withSpreadsheetId: spreadsheetId, range:range)
service.executeQuery(query, delegate: self, didFinish: #selector(displayResultWithTicket(ticket:finishedWithObject:error:)))
}

我尝试按照 api 所说的部分进行操作:

// This code uses the Sheets Advanced Service, but for most use cases
// the built-in method SpreadsheetApp.getActiveSpreadsheet()
// .getRange(range).setValues(values) is more appropriate.
var values = [
[
// Cell values ...
]
// Additional rows ...
];
var valueRange = Sheets.newValueRange();
valueRange.values = values;
var result = Sheets.Spreadsheets.Values.update(valueRange, spreadsheetId, range, {
valueInputOption: valueInputOption
});

但我对 SpreadsheetsApp.getActiveSpreadsheet() 的来源一头雾水。我真的不知道 SpreadsheetsApp 或 Sheets 对象/库是什么,当我尝试在我的代码中使用它时它似乎不存在

由于完全不知道如何做到这一点,我尝试了:

func writeData() {
let spreadsheetId = "1OAbhzY7RlfCEre-I5e-Kcgz16eHz2cGpO9HZKOiizCs"
let range = "A1:E"
let query = GTLRSheetsQuery_SpreadsheetsValuesGet.query(withSpreadsheetId: spreadsheetId, range:range)
var values = [[]]
var valueRange = query.newValueRange()
valueRange.values = values
var result = query.values.update(valueRange, spreadsheetId, range, {
valueInputOption: valueInputOption
})
}

但是,正如预期的那样,我收到了很多错误,因为查询没有 newValueRange 方法、values.update 方法或类似的方法。

谁能帮帮我?我很迷茫

最佳答案

这是使用您在原始问题中引用的 GoogleAPIClientForREST 库对您的问题的回答(并不是说使用 AlamoFire 是不正确的,但 Google Sheets API 将是更规范的方式来做到这一点):

func updateSheets() {
let range = "Sheet1!A3:C3" // Sheet titled "Sheet1", range A3 to C3
let updateValues = [["Foo", "Bar", "Baz"]]
let valueRange = GTLRSheets_ValueRange() // GTLRSheets_ValueRange holds the updated values and other params
valueRange.majorDimension = "ROWS" // Indicates horizontal row insert
valueRange.range = range
valueRange.values = updateValues
let query = GTLRSheetsQuery_SpreadsheetsValuesAppend.query(withObject: valueRange, spreadsheetId: kSpreadsheetID, range: range) // Use an append query to append at the first blank row
query.valueInputOption = "USER_ENTERED"
service.executeQuery(query) { ticket, object, error in
print("object")
} // `GTLRServiceCompletionHandler` closure containing the service ticket, `GTLRSheets_AppendValuesResponse`, and any error
}

关于ios - 如何在 Swift 中写入 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51015529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com