首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用API密钥从GAE访问Bigquery的权限被拒绝

使用API密钥从GAE访问Bigquery的权限被拒绝
EN

Stack Overflow用户
提问于 2012-07-22 00:38:19
回答 1查看 964关注 0票数 1

我正在尝试通过我在Google app Engine上开发的应用程序访问存储在Bigquery中的数据。但是,每次我发出请求时,我都会收到错误消息"permission denied“。

我已经将应用程序添加为项目的API成员(我添加了地址@appspot.gserviceaccount.com),并且我正在通过包code.google.com/p/google-api-go-client/bigquery/v2访问bigquery

下面的代码是如何将API密钥附加到每个查询中的:

代码语言:javascript
复制
transport := KeyedTransport{Key: <api key>, Transport: http.DefaultTransport}
client := &http.Client{Transport: transport}
err := errors.New("reached")
b, err := bigquery.New(client)

...
query := &bigquery.QueryRequest{
            DefaultDataset: <perviously defined daset> 
            Query: <query that looks in a single table for a single result by a unique id>,
            Kind: "json",
            MaxResults: 1,


...

b.Jobs.Query(ProjectID, query).Do()

下面是为KeyedTransport定义的

代码语言:javascript
复制
func (t KeyedTransport)  RoundTrip(req *http.Request) (*http.Response, error){
        u := *req.URL
        args := u.Query()
        args.Set("key", t.Key)
        u.RawQuery = args.Encode()

        r, err := http.NewRequest(req.Method, u.String(), newBody)

        resp, err := t.Transport.RoundTrip(r)
        if err != nil{
                return nil, errors.New("error: "+err.Error())
        }
        return nil, errors.New("resp: "+toJson(resp))

}

我还确保API密钥与Google API控制台中生成的密钥相匹配。它是由团队的另一名成员生成的,如果有帮助的话,它被标记为“浏览器应用程序的关键(带有引用)”。

看到这给我带来了这么多麻烦,我会转而使用Oauth2,因为Go的文档似乎要好得多,但我正在考虑与一些不想要求用户必须使用谷歌登录的组织合作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-23 09:55:06

我不是Go专家,但看起来您还需要授权您的应用程序通过使用服务帐户的OAuth 2.0流访问BigQuery应用程序接口。App Engine的Python和Java运行时使用AppAssertionCredentials类支持"App Engine服务帐户“。

但是,也可以启用服务器到服务器的using JWT files generated through the Google developer console

可以通过一个可以处理JWT文件的go-lang库(可能是like this),使用服务器到服务器OAuth从GAE Go运行时授权对BigQuery的访问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11593989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档