登录
首页 >  Golang >  Go问答

以Golang库或REST API的方式如何将协作者添加到Google表格?

来源:stackoverflow

时间:2024-02-05 21:27:48 312浏览 收藏

今天golang学习网给大家带来了《以Golang库或REST API的方式如何将协作者添加到Google表格?》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我可以使用 gsheets 客户端库创建一个新的电子表格,下一步是将编辑器添加到新创建的工作表中,以便应用程序的用户可以访问该工作表

以下是创建工作表的代码:

ctx := context.background()

    srv, err := gsheets.newservice(ctx)
    if err != nil {
        log.printf("unable to retrieve sheets client: %v", err)
    }
    sp := &gsheets.spreadsheet{
        properties: &gsheets.spreadsheetproperties{
            title: groupname,
        },
    }

    spreadsheet, err := srv.spreadsheets.create(sp).do()
    if err != nil {
        return nil, err
    }

我搜索了 golang 客户端库文档和 rest api 文档,但找不到与添加协作者相关的任何内容

我期望有一些请求对象,允许我使用他们的电子邮件和角色添加协作者:

req := gsheets.Request{
        AddCollaborator: &gsheets.AddCollaboratorRequest{
            Email: "[email protected]",
            Role:  "editor",
        },
    }

    busr := &gsheets.BatchUpdateSpreadsheetRequest{
        Requests: []*gsheets.Request{&req},
    }

    res, err := srv.Spreadsheets.BatchUpdate(spreadsheetId, busr).Do()

或者至少我期望有一个 api 端点,我可以在其中实现相同的结果

我也很好奇是否有办法创建这个新的电子表格作为只读的公众?这至少可以让我继续开发


正确答案


可以使用 google.golang.org/api/sheets/v4 库添加编辑器。 您可以简单地创建一个电子表格:

func (r *spreadsheetsservice) create(spreadsheet *spreadsheet) *spreadsheetscreatecall

并添加具有编辑器类型的编辑器:

type Editors struct {
    ...
    // Users: The email addresses of users with edit access to the protected
    // range.
    Users []string `json:"users,omitempty"`
    ...
}

查看库文档了解更多详情。

以上就是《以Golang库或REST API的方式如何将协作者添加到Google表格?》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>