我真的很困惑如何写到excel的工作表,那是公开的。到目前为止,我已经下载了Alamofire和GoogleAPIClientForREST cocoapods。所以我想知道,如果我想写到表格上,我首先需要实现一个google登录,或者我可以使用Alamofire发送数据。我太迷茫了,如果有人能帮我,那就太好了。
谷歌单张:https://docs.google.com/spreadsheets/d/1zJR0uk6Pb6BuxJihFyxwe4ipQdBY4E9FFR74geBj8p0/edit#gid=0
func makeAndSendRequest() {
    let baseUrl = "https://sheets.googleapis.com/v4/spreadsheets"
    let spreadsheetId = "1zJR0uk6Pb6BuxJihFyxwe4ipQdBY4E9FFR74geBj8p0"
    let params = ["valueInputOption": "RAW"]
    let range = "Studen!A3:B3"
    //need to add params
    let url = baseUrl + "/" + spreadsheetId + "/values/" + range + "/valueInputOption=RAW/"
    let fullUrl = URL(string: url)!
    //my values
    let requestParams = [
        "values": [
            1,
            2
        ]
    ]
    //my auth is after Bearer so "Bearer 901390"
    let header = ["Authorization":"Bearer "]
    let requestURL = "https://sheets.googleapis.com/v4/spreadsheets/\(spreadsheetId)/values/\(range)?valueInputOption=RAW"
    let req = Alamofire.request(requestURL, method: .put, parameters: requestParams, encoding: JSONEncoding.default,headers: header)
    req.responseJSON { response in debugPrint(response) }
}发布于 2018-11-15 05:20:30
先解决这个问题。
valueInputOption是一个查询参数,请参阅:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update
您的URL至少应该是:
let url = baseUrl + "/" + spreadsheetId + "/values/" + range + "?valueInputOption=RAW"
接下来,您需要修复您的请求主体,在这里每个文档都需要范围:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/update
{   "range": "A3:B3",   "values": [     [       1,       2     ]   ] }
此范围应与查询参数中的范围相同,例如Sheet1!:A3:B3与查询参数中的范围相同。
请注意,它以工作表名称开头,不应该是"studen“。
我在同一个页面上使用了操场工具,并且能够调用api来更改电子表格中的数据。
最后,我得到了200个响应代码,下面是json:{   "spreadsheetId": "1zJR0uk6Pb6BuxJihFyxwe4ipQdBY4E9FFR74geBj8p0",   "updatedRange": "Sheet1!A3:B3",   "updatedRows": 1,   "updatedColumns": 2,   "updatedCells": 2 }
-编辑-正如您所问的,API需要Oauth令牌,处理这个问题的框架实际上称为G Suite。
https://stackoverflow.com/questions/53293814
复制相似问题