我可以在AppEngineTokenSource中设置Subject(又名Prn)吗?

时间:2015-01-01 15:29:47

标签: google-app-engine go google-admin-sdk

我正在尝试使用Go从谷歌AppEngine调用Admin sdk,我已经完成了以下操作:

  • 将Admin SDK添加到我的appengine项目
  • 将appengine-project-name@appspot.gserviceaccount.com添加到项目的服务帐户

按照此处的示例https://godoc.org/golang.org/x/oauth2/google#example-AppEngineTokenSource

我收到:错误403:未授权访问此资源/ api,禁止

当我从命令行执行此操作时,我必须设置主题帐户。有没有办法用AppEngineTokenService做到这一点?

client := &http.Client{
    Transport: &oauth2.Transport{
        Source: google.AppEngineTokenSource(ctx,
            "https://www.googleapis.com/auth/admin.directory.user"),
        Base: &urlfetch.Transport{
            Context: ctx,
        },
    },
}

svc, err := admin.New(client)
if err != nil {
    fmt.Printf("Error getting svc\n")
    ctx.Errorf("error getting service %v", err)
}
usersvc := admin.NewUsersService(svc)

listcall := usersvc.List()
listcall.Domain("example.com")
users, err := listcall.Do()

0 个答案:

没有答案