Google BigQuery 的 Google App Engine 授权

2023-11-23

我已按照中的说明进行操作https://developers.google.com/bigquery/authorization#service-accounts-appengine从 App Engine 到 bigquery 进行一些查询。

在第 2 步中,我在 Google Api 控制台中单击“团队”,它会重定向到 App Engine > 管理 > 权限。我将服务帐户名称添加为电子邮件,并选择开发人员作为角色(“可以编辑”选项不可用),然后单击“邀请用户”。之后,出现一条消息:“一封电子邮件已发送至[电子邮件受保护]进行验证。”并且状态为待处理。我如何确认电子邮件?,似乎这里有一个错误......

接下来,我使用以下代码进行了测试:

#!/usr/bin/env python
import httplib2
import webapp2
from google.appengine.api import memcache
from apiclient.discovery import build
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from oauth2client.appengine import AppAssertionCredentials 

# BigQuery API Settings
PROJECT_NUMBER        = 'XXXXXXXX' 

credentials = AppAssertionCredentials(scope='https://www.googleapis.com/auth/bigquery')
http        = credentials.authorize(httplib2.Http(memcache))
service     = build("bigquery", "v2", http=http)

class MainHandler(webapp2.RequestHandler):
    def get(self):
        query     = {'query':'SELECT word,count(word) AS count FROM publicdata:samples.shakespeare GROUP BY word;',
                     'timeoutMs':10000}
        jobRunner = service.jobs()
        reply     = jobRunner.query(projectId=PROJECT_NUMBER,body=query).execute()
        self.response.out.write(reply)

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)

回复是(从谷歌运行):

HttpError: <HttpError 403 when requesting https://www.googleapis.com/bigquery/v2/projects/XXXXXXXX/queries?alt=json returned "Access Denied: Job YYYYYYYY:job_e57bdde0144c495dbc864ccbfb82b704: RUN_QUERY_JOB">

如果我从本地主机测试,答案是:

HttpError: <HttpError 401 when requesting https://www.googleapis.com/bigquery/v2/projects/XXXXXXXX/queries?alt=json returned "Invalid Credentials">

有人可以帮助我吗? :-)


您可以添加[电子邮件受保护]到该项目http://cloud.google.com/console.

预计这很快就会变得更容易/更直接!


一步一步,@Christian:

  1. 转到应用程序的 App Engine 仪表板,单击应用程序设置并复制服务帐户名称 ([电子邮件受保护])
  2. Go to http://cloud.google.com/console
  3. 选择您的项目
  4. 单击齿轮图标并选择团队
  5. 点击添加会员
  6. 粘贴服务帐户名称并选择可以编辑权限,然后单击添加。
  7. 玩得开心!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google BigQuery 的 Google App Engine 授权 的相关文章

随机推荐

  • Eclipse:打开类和对象的语法突出显示

    是否有可能像在 Visual Studio 中一样在 Eclipse 中打开类和对象的突出显示 目前仅突出显示变量名称 左 Eclipse 右 Visual Studio 2012 Image http image uploader de
  • 转换输入时“ValueError:无法将字符串转换为浮点数”

    最近我一直在编写代码 并在这个错误上陷入困境几天 基本上 该程序计算您每天必须摄入多少卡路里 我必须从条目中获取输入 但我不知道如何将该输入 默认情况下是字符串 转换为浮点数才能开始使用数字 我正在使用 Python 3 和 Tkinter
  • 从十六进制颜色代码中查找颜色名称

    我想从十六进制颜色代码中找到颜色的名称 当我得到十六进制颜色代码时 我想找到最匹配的颜色名称 例如 对于代码 c06040 如何确定它是棕色 蓝色还是黄色 这样我就可以在无需人工干预的情况下找到图像中物体的颜色 颜色深浅的 十六进制代码之间
  • 如何在QML的.qrc资源文件中指定通配符?

    有 x 个 png目录中的文件 我不想手动添加所有这些 而是 想在 qrc文件并让它自己包含所有这些内容 达到这个目的的方法是什么 这是一个小 bash 脚本 它从文件夹的内容生成 qrc 文件 bin sh QRC resourcefil
  • 你可以在 Eclipse Android 项目中添加子文件夹到布局吗?

    当我在布局文件夹中创建子文件夹并将 xml 文件拖到其中时 生成的 R 文件似乎不显示该子文件夹 a 有没有办法改变 b 文件和文件结构是否仍然由 SVN 拾取和 c 那么 如果我这样做 我仍然可以使用布局引用对象吗 当我在中创建子文件夹时
  • 在 Next.js 中将 Markdown 文件作为字符串导入

    如何将 Markdown 文件作为字符串导入Next js在客户端和服务器端工作 您可以配置 Next js webpack 加载器来加载 markdown 文件并将其作为字符串返回 例如 docs home md Home This is
  • 设置弹出(Python)[重复]

    这个问题在这里已经有答案了 假设你有一套 foo 1 2 3 4 5 在我目前正在阅读的 Pro Python 一书中 它说使用foo pop 将从该选择中弹出任意数字 但是 当我尝试时 它pops 1 then 2 then 3 它是随意
  • SQL:获取一个表中的所有记录以及第二个表中的记录计数?

    假设有两个表 TABLE A messageID Message More 1 This is the first message Etc 2 This is the second message Etc 3 This is the thi
  • 如何存储可变参数模板参数?

    是否可以以某种方式存储参数包以供以后使用 template
  • 我可以使用 foo 等模式部分专门化模板吗?

    如果这是可能的 则可以索引到可变参数模板参数包而无需递归 然而 海湾合作委员会是拒绝接受我的部分专业化 here template
  • 所有 8 位按位移位会发生什么

    我在 c 中有一个小查询 我正在对数字 69 使用按位左移 即01000101以二进制形式 01000101 lt lt 8 我得到的答案是100010100000000 难道不应该是全8个零吗 00000000我们将所有 8 位左移 然后
  • Markdown 和 XSS

    好的 所以我一直在 SO 和其他地方阅读有关 markdown 的内容 用户输入和数据库之间的步骤通常给出为 将 markdown 转换为 html 清理 html 带白名单 插入数据库 但对我来说 执行以下操作更有意义 清理降价 删除所有
  • 如何在列表理解python中构建两个for循环

    我有两个列表如下 tags u man u you u are u awesome entries u man u thats u right u awesome 我想从中提取条目entries当他们在tags result for tag
  • 找不到文件“Microsoft.Windows.Common-Controls,版本=6.0.0.0,文化=*,PublicKeyToken=6595b64144ccf1df,

    我正在尝试整合这个图书馆进入我的应用程序 起初它崩溃了 Unable to find an entry point named TaskDialogIndirect in DLL ComCtl32 所以我取消了评论
  • 如何在 GitHub 中的存储库上设置 receive.denyNonFastForwards

    我在 GitHub 上托管了一个存储库 其中有多个分支 如何设置主存储库的配置来设置receive denyNonFastForwards标志 以便主存储库只能接受快进的推送 并且拒绝任何非快进的推送 即使它们是快进的 forced Git
  • C# 登录示例

    我无法隐藏登录表单的主表单 用户登录后关闭登录表单并显示主表单 我一直让自己很困惑 我已经删除了所有代码并重新开始 我可以很好地隐藏登录表单 我无法隐藏调用的主窗体 Application Run new MainForm 登录表单如下所示
  • 处理大量行时,TMemo 速度慢得令人痛苦

    我的 TMemo 中有 100000 行 我想做类似的事情 for i 0 to Memo Lines Count 1 do Memo Lines i SomeTrim Memo Lines i 但速度是每秒0 5行 添加 BeginUpd
  • 如何从 iOS 上的硬件键盘检测按键向上/按键按下事件?

    虽然 SO 上发布了许多关于黑客键盘工作的方法 例如 iOS 7下蓝牙键盘如何支持上下方向键 or 接收iPhone键盘事件 它们都没有记录 是否可以使用公共 API 在 iOS 中检测来自硬件键盘 例如蓝牙 的 keyUp keyDown
  • Solr 中的查询超时

    我通过自定义开发的层对 solr 进行查询 并且在我的层中超时的少数查询仍在 solr 实例中 solr 中是否有一个参数可用于使特定查询超时 如中所述客户端断开连接后 Solr 查询继续吗 and 写在 Solr 常见问题解答中 在内部
  • Google BigQuery 的 Google App Engine 授权

    我已按照中的说明进行操作https developers google com bigquery authorization service accounts appengine从 App Engine 到 bigquery 进行一些查询