Maison  >  Article  >  développement back-end  >  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
WBOYavant
2024-02-09 11:54:21590parcourir

有没有办法使用 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
    }

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

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

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"`
    ...
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer