php小编子墨在这里告诉你,要将协作者添加到Google Sheet,有两种方法可供选择:使用Golang客户端库或REST API。使用Golang客户端库,你可以通过调用Google Sheets API来添加协作者。而使用REST API的方法则是通过发送HTTP请求到Google Sheets API来实现。无论你选择哪种方法,都可以轻松地将协作者添加到你的Google Sheet中,以便与他人共享和编辑表格。
问题内容
我可以使用 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 Sheet?的详细内容,更多请关注编程网其它相关文章!