首頁 > 後端開發 > Golang > 主體

有沒有辦法使用 Golang 用戶端程式庫或 REST API 將協作者新增至 Google Sheet?

WBOY
發布: 2024-02-09 11:54:21
轉載
597 人瀏覽過

有没有办法使用 Golang 客户端库或 REST API 将协作者添加到 Google Sheet?

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?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!