Maison > développement back-end > Golang > Existe-t-il un moyen d'ajouter des collaborateurs à Google Sheet à l'aide de la bibliothèque client Golang ou de l'API REST ?

Existe-t-il un moyen d'ajouter des collaborateurs à Google Sheet à l'aide de la bibliothèque client Golang ou de l'API REST ?

WBOY
Libérer: 2024-02-09 11:54:21
avant
646 Les gens l'ont consulté

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

l'éditeur php Zimo est là pour vous dire que pour ajouter des collaborateurs à Google Sheet, vous avez le choix entre deux méthodes : utiliser la bibliothèque client Golang ou l'API REST. À l'aide de la bibliothèque client Golang, vous pouvez ajouter des collaborateurs en appelant l'API Google Sheets. La méthode d'utilisation de l'API REST consiste à envoyer une requête HTTP à l'API Google Sheets. Quelle que soit la méthode que vous choisissez, vous pouvez facilement ajouter des collaborateurs à votre feuille Google pour partager et modifier la feuille avec d'autres.

Contenu de la question

Je peux créer une nouvelle feuille de calcul à l'aide de la bibliothèque client gsheets, l'étape suivante consiste à ajouter l'éditeur à la feuille de calcul nouvellement créée afin que l'utilisateur de l'application puisse accéder à la feuille de calcul

Voici le code pour créer la feuille de calcul :

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
    }
Copier après la connexion

J'ai effectué des recherches dans la documentation de la bibliothèque client Golang et dans la documentation de l'API Rest, mais je n'ai rien trouvé concernant l'ajout de collaborateurs

J'attends un objet de requête qui me permettra d'ajouter des collaborateurs en utilisant leur email et leur rôle :

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()
Copier après la connexion

Ou du moins, je m'attendais à ce qu'il y ait un point final d'API où je pourrais obtenir le même résultat

Je suis également curieux de savoir s'il existe un moyen de créer cette nouvelle feuille de calcul en lecture seule ? Cela me permet au moins de continuer à développer la

solution de contournement

pour ajouter un éditeur utilisant la google.golang.org/api/sheets/v4 bibliothèque. Vous pouvez simplement créer une feuille de calcul :

func (r *spreadsheetsservice) create(spreadsheet *spreadsheet) *spreadsheetscreatecall
Copier après la connexion

et ajoutez un éditeur avec le type d'éditeur :

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

Consultez la documentation de la bibliothèque pour plus de détails.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal