Heim  >  Artikel  >  Backend-Entwicklung  >  Gibt es eine Möglichkeit, mithilfe der Golang-Clientbibliothek oder der REST-API Mitarbeiter zu Google Sheet hinzuzufügen?

Gibt es eine Möglichkeit, mithilfe der Golang-Clientbibliothek oder der REST-API Mitarbeiter zu Google Sheet hinzuzufügen?

WBOY
WBOYnach vorne
2024-02-09 11:54:21588Durchsuche

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

php-Editor Zimo möchte Ihnen mitteilen, dass zum Hinzufügen von Mitarbeitern zu Google Sheet zwei Methoden zur Auswahl stehen: die Verwendung der Golang-Clientbibliothek oder die REST-API. Mithilfe der Golang-Clientbibliothek können Sie Mitarbeiter hinzufügen, indem Sie die Google Sheets-API aufrufen. Die Methode zur Verwendung der REST-API besteht darin, eine HTTP-Anfrage an die Google Sheets-API zu senden. Unabhängig davon, für welche Methode Sie sich entscheiden, können Sie ganz einfach Mitarbeiter zu Ihrem Google Sheet hinzufügen, um das Blatt mit anderen zu teilen und zu bearbeiten.

Frageninhalt

Ich kann mithilfe der gsheets-Clientbibliothek eine neue Tabelle erstellen. Der nächste Schritt besteht darin, den Editor zum neu erstellten Blatt hinzuzufügen, damit Benutzer der Anwendung auf das Blatt zugreifen können

Hier ist der Code zum Erstellen des Arbeitsblatts:

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
    }

Ich habe die Dokumentation der Golang-Client-Bibliothek und die Rest-API-Dokumentation durchsucht, konnte aber nichts zum Hinzufügen von Mitarbeitern finden

Ich erwarte ein Anfrageobjekt, das es mir ermöglicht, Mitarbeiter anhand ihrer E-Mail-Adresse und Rolle hinzuzufügen:

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()

Oder zumindest habe ich erwartet, dass es einen API-Endpunkt gibt, mit dem ich das gleiche Ergebnis erzielen könnte

Ich bin auch neugierig, ob es eine Möglichkeit gibt, diese neue Tabelle schreibgeschützt öffentlich zu erstellen? Dadurch kann ich zumindest die

Problemumgehung

weiterentwickeln, einen Editor mithilfe der google.golang.org/api/sheets/v4-Bibliothek hinzuzufügen. Sie können einfach eine Tabelle erstellen:

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

und Editor mit Editortyp hinzufügen:

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

Weitere Informationen finden Sie in der Bibliotheksdokumentation.

Das obige ist der detaillierte Inhalt vonGibt es eine Möglichkeit, mithilfe der Golang-Clientbibliothek oder der REST-API Mitarbeiter zu Google Sheet hinzuzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen