Я пытаюсь записать документ в Google Sheets, выполнив этот 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 или чего-либо подобного.
Может кто-нибудь помочь мне, пожалуйста? Я очень потерянный