问题标签 [google-api-python-client]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
322 浏览

python - 使用 App Engine 服务帐户时出现链接断开错误

我正在关注本教程

这是我的 main.py 代码

这是我的 app.yaml 文件代码

是的,我已经在 google api 控制台 Team 选项卡中添加了应用引擎服务帐户名称,并且可以编辑权限。当上传应用程序并尝试访问它说的链接

之前我在本地运行它并尝试使用链接访问它localhost:8080。然后我认为可能在本地运行可能会给出错误,所以我将我的代码上传到

但它仍然是错误的。

编辑: 更新 App.yaml

但得到另一个错误

0 投票
1 回答
503 浏览

python - 如何将 Google 文档列表 API 与 .jpeg .gif 等非文档文件一起使用?

我现在正在使用 gdata-python-client(Google 文档列表 API)在 Linux 操作系统的终端上访问我的 google 驱动器,但我无法显示图像文件——它只显示 .doc .xls 或 .pdf 文件

是否有一些解决方案可以解决我仍在使用 gdata-python-client 的问题?我希望有一些解决方案比将我的 API 更改为 Google drive API 更好,这意味着我应该重新启动我的项目!!。好难过 :(

如果我改用 Google Drive APIs。怎么办?或者我可以重复使用我的项目与新 API 的兼容性吗?

请给我一些建议或教程。非常非常非常感谢:)

0 投票
2 回答
719 浏览

python - 如何登录 appengine 中的任意用户以使用 Drive SDK?

我有一个应用程序需要登录到单个 Drive 帐户并使用 cron 作业自动对文件执行操作。最初,我尝试使用域管理员登录来执行此操作,但是我无法使用域管理员进行任何测试,因为您似乎无法使用域管理员帐户使用测试服务器,这使得测试我的应用程序有点不可能!

因此,我开始考虑存储 arbitray oauth 令牌(尤其是刷新令牌),以便在初始设置后自动登录此帐户。但是,所有 API 和文档都假设多个个人用户手动登录,并且我在 oauth API 中找不到允许或说明登录到当前登录用户以外的任何内容的功能。

如何以可以在测试域上测试我的代码的方式实现这一点?我可以在不编写自己的 oauth 库并手动执行 oauth 请求的情况下做到这一点吗?或者有没有办法让域管理员授权在本地测试服务器上工作?

0 投票
1 回答
640 浏览

python - Python Google Drive API 出现 SSL 错误

我写了一个简单的代码,与https://developers.google.com/drive/quickstart-python上的代码基本相同,每次第一次尝试后我都会遇到同样的错误:

我在 Python 2.6.4、httplib2 v0.7.7 和 google-api-python-client v1.0b9 下运行它。如果有人有想法......我将非常感激。

0 投票
2 回答
3225 浏览

google-app-engine - GAE 不导入 gflags

我正在尝试让 oauth 在 Google App Engine (GAE) 上工作,但我无法导入OAuth2Decorator,因为它尝试导入gflags并失败。

在命令行中,我运行help('modules')并列出了 gflags,并且运行了++import os并收到了.import gflagsprint os.path.dirname(gflags.__file__)/Library/Python/2.7/site-packages/python_gflags-2.0-py2.7.egg

在 GAE 开发控制台中,我运行过:

并收到:

gflags由 导入,但每次运行代码时from oauth2client.appengine import OAuth2DecoratorGAE 都无法导入。gflags

我不确定这会有所不同,但我正在运行 Mac OS 10.7.5 和 python 2.7.1

0 投票
0 回答
414 浏览

python - Google API 类设计上的 AccessTokenRefreshError

我正在尝试为我的 Google API 调用的基本样板初始化创建一个基类。通过在线阅读教程,我认为应该重用 http 传输对象,而不是在每次调用时重新初始化。

一些基本信息:

平台:Google 的 AppEngine - 启用线程的 Python 2.7

错误

基类实现:

我一定是误解了什么,或者我的设计有缺陷。当我为每个我想与之交互的 API (BigQuery 和存储)专用一个单独的类时,它工作得非常好。我只是想在类之间共享构造函数。

此方法在本地工作得非常好,尽管它使用不同的凭据机制。

此类的实现示例:

有什么我做错了吗?我的设计是否有缺陷,是否有更好的方法来实现我想做的事情?我想我不必每次都构建服务接口,但如果我不这样做,它会是线程安全的吗?这种方法甚至是线程安全的吗?

任何帮助,将不胜感激!

0 投票
0 回答
511 浏览

google-app-engine - GAE 的 bigquery v2 超时

我正在谷歌应用引擎中从我的应用对 BigQuery 进行查询,有时会从 BQ 收到奇怪的结果(发现#restDescription)。我花了一些时间才明白只有当我查询的数据量很大时才会出现问题,从而使我的查询在 10 秒内超时。

我在这里找到了对我的问题的一个很好的描述: Bad response to a BigQuery query

再次阅读 GAE 文档后,我发现应该在几秒钟内处理 HTTP 请求。所以我想,这只是一个猜测,bigquery 也可能以同样的方式限制自己,因此,必须“在几秒钟内”响应我的查询。

如果是这种情况,首先,我会有点惊讶,因为我的 bigquery 请求肯定会花费几秒钟以上......但无论如何,我通过强制我的 1 秒超时进行了测试查询,然后通过轮询 API 调用 getQueryResults 来获取 queryResult。

结果非常有趣。BigQuery 在 3 秒内或多或少地返回一些东西(不是我问的 1),然后我稍后会在 26 秒内通过轮询获得结果。这看起来像是规避了 10 秒超时问题。

但我几乎看不到自己在生产中做这个把戏。

有人遇到过与 BigQuery 相同的问题吗?当查询持续时间超过“几秒钟”时,我应该怎么做?

这是我用来查询的代码:

为了检索结果,我用这个进行投票:

这些是 BigQuery 上发生的事情的日志:

这是我的查询 API 调用返回给我的。在元数据中,状态为“正在运行”:

使用 jobId,我可以在 26 秒后检索结果,当它们准备好时。

一定有别的办法!我究竟做错了什么?

0 投票
1 回答
1500 浏览

authorization - 无法使用 Python 客户端库 API 获得服务帐户授权以处理 GCS 脚本

在尝试编写一个 python 脚本来使用基于服务的授权访问 GCS 时,我想出了以下内容。请注意,“key”是我的 p12 文件的内容。

我正在尝试仅阅读我帐户中的存储桶列表。我已经使用 GCS 的 Web 界面成功创建了一个存储桶,并且可以使用 gsutil 看到它。

当我执行下面的代码时,出现 403 错误。起初我以为我没有得到正确的授权,但我从这个非常有用的网页(它使用基于 Web 的授权)尝试过,它可以正常工作。https://developers.google.com/apis-explorer/#p/storage/v1beta1/storage.buckets.list?projectId= &_h=2&

当我查看标头和查询字符串并将它们与网站生成请求的 keaders 和查询进行比较时,我看到没有授权标头,并且查询字符串中没有 key= 标记。我想我认为凭证授权会为我解决这个问题。

我究竟做错了什么?

代码:

当我尝试执行时,我得到了 403。

0 投票
1 回答
2835 浏览

python - GAE 中的 OAuth2 身份验证访问日历 API V3(域托管)

我正在使用 Python 开发 Google App Engine 应用程序。我正在使用:

  • Google Calendar API v3(访问我自己域中的日历。所以,这是安装在我域中的 Google Apps)
  • 适用于 Python 的 Google API 客户端库。
  • OAuth2 对我的域 (name@mydomain.com) 的用户进行身份验证

我以为我必须使用服务帐户,因为:

“如果您的 App Engine 应用程序需要调用 API 来访问应用程序项目拥有的数据,您可以使用服务帐户来简化 OAuth 2.0”

取自https://developers.google.com/api-client-library/python/platforms/google_app_engine#ServiceAccounts

但我不确定我是否误解了什么。我的场景(GAE 应用程序试图访问我自己域中的 Google Apps)是否是服务帐户的候选人?

我尝试了几种处理 OAuth2 的方法:

  • 如前所述,使用服务帐户
  • 使用 Google APIs 客户端库为 Python 提供的 Python 装饰器(OAuth2Decorator 和 OAuth2DecoratorFromClientSecrets)

在这两种情况下,我都会遇到相同的错误:

我完全迷路了。有什么线索吗?

提前谢谢了

0 投票
5 回答
14784 浏览

python - Google API 客户端机密错误 (Python)

我想从谷歌分析中检索数据。我已经在控制台中创建了一个服务帐户,并且我正在使用 Google 的 Python ( hello_analytics_api_v3.py) 代码来访问数据。

我已将其复制client_secrets.json到我的文件夹中,但出现此错误:

我应该怎么办?我正在使用 Python 2.7。