Heim > Backend-Entwicklung > Golang > 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
Freigeben: 2024-02-09 11:54:21
nach vorne
645 Leute haben es durchsucht

有没有办法使用 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
    }
Nach dem Login kopieren

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()
Nach dem Login kopieren

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
Nach dem Login kopieren

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"`
    ...
}
Nach dem Login kopieren

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage