首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Swift给谷歌工作表写信

用Swift给谷歌工作表写信
EN

Stack Overflow用户
提问于 2018-11-14 05:39:22
回答 1查看 1.4K关注 0票数 3

我真的很困惑如何写到excel的工作表,那是公开的。到目前为止,我已经下载了Alamofire和GoogleAPIClientForREST cocoapods。所以我想知道,如果我想写到表格上,我首先需要实现一个google登录,或者我可以使用Alamofire发送数据。我太迷茫了,如果有人能帮我,那就太好了。

谷歌单张:https://docs.google.com/spreadsheets/d/1zJR0uk6Pb6BuxJihFyxwe4ipQdBY4E9FFR74geBj8p0/edit#gid=0

代码语言:javascript
运行
复制
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) }

}
EN

回答 1

Stack Overflow用户

发布于 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://developers.google.com/gsuite/guides/ios

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53293814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档