400 使用 Go 客户端 API 生成谷歌 API 访问令牌时的请求错误

我正在尝试实现Go API客户端以生成一个通过REST API访问一些谷歌API,我正在使用此代码iamcredentialsAccess Token


    package main


    import (

        "context"

        "log"


        "google.golang.org/api/iamcredentials/v1"

    )


    func main() {

        iamcredentialsService, err := iamcredentials.NewService(context.Background())

        if err != nil {

            log.Println("error initialize iamcredential Service ", err)

            return

        }

        accessTokenCall := iamcredentialsService.Projects.ServiceAccounts.GenerateAccessToken(

            "projects/-/serviceAccounts/some-sa@some-project-id.iam.gserviceaccount.com:generateAccessToken",

            &iamcredentials.GenerateAccessTokenRequest{

                Scope: []string{

                    iamcredentials.CloudPlatformScope,

                },

            },

        )


        iamResp, err := accessTokenCall.Do()

        if err != nil {

            log.Println("error generate access token", err)

            return

        }


        log.Println(iamResp)

    }

但是当我尝试运行上面的代码段时,我收到了此消息


go run main.go 


error generate access token googleapi: Error 400: Request contains an invalid argument., badRequest

有没有办法检查哪一个导致了上述响应?我不确定,因为没有任何好的实现示例。任何帮助将不胜感激,谢谢。


叮当猫咪
浏览 192回答 1
1回答

POPMUISE

需要删除末尾的 。此处为代码中的文档。不要犹豫,探索它,它是开源的;):generateAccessToken// GenerateAccessToken: Generates an OAuth 2.0 access token for a// service account.//// - name: The resource name of the service account for which the//   credentials are requested, in the following format://   `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`//   wildcard character is required; replacing it with a project ID is//   invalid.func (r *ProjectsServiceAccountsService) GenerateAccessToken(name string, generateaccesstokenrequest *GenerateAccessTokenRequest) *ProjectsServiceAccountsGenerateAccessTokenCall {    c := &ProjectsServiceAccountsGenerateAccessTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}    c.name = name    c.generateaccesstokenrequest = generateaccesstokenrequest    return c}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go