问题标签 [google-python-api]

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 回答
150 浏览

google-cloud-pubsub - Google PubSub 是否支持其 Python API 的同步拉取?

我读过的文档只涵盖了异步拉——我想验证这是 Python API 的唯一选择。

0 投票
1 回答
1376 浏览

python - 使用服务帐户从 gmail 获取邮件

我正在使用谷歌服务帐户从没有 UI 界面的 gmail 帐户访问所有邮件但是当我执行我的代码时它给了我错误

googleapiclient.errors.HttpError:https://www.googleapis.com/gmail/v1/users/me/labels?alt=json 返回“错误请求”>

但是当我从https://console.developers.google.com/apis/api/gmail.googleapis.com/quotas检查配额时 ,会显示我使用我的 python 代码所做的所有请求,但它总是在我执行时返回错误请求下面的代码。

0 投票
1 回答
645 浏览

google-bigquery - 将数据从 BigQuery 导入到不同项目中的 Cloud Storage

我在同一个帐户下有两个项目:

  • 带有 BQ 的projectA和带有云存储的projectB
  • projectA具有带有数据集和表的 BQ - testDataset.testTable
  • prjectB有云存储和存储桶 - testBucket
  • 我使用python,谷歌云休息api
  • 每个项目的帐户密钥凭据,具有不同的权限:projectA密钥仅对 BQ 具有权限;projectB仅具有云存储权限

我需要的:

从projectA testDataset.testTable导入数据到projectB testBucket

问题

  • 当然,我在尝试这样做时遇到了错误Permission denied ,因为显然projectA密钥没有projectB存储等权限
  • 另一个奇怪的问题,因为我在projetB中有testBucket我无法在projectA中创建同名的存储桶并获取

此存储桶名称已被使用。存储桶名称必须是全局唯一的。试试别的名字。

所以,看起来所有帐户都已连接我想这意味着应该可以通过 API 将数据从一个帐户导入另一个帐户

在这种情况下我能做什么?

0 投票
2 回答
122 浏览

python - 使用 Python 通过 API 删除 Google Compute Account 的问题

我能够使用来自此处此处的信息拼凑一个 Python 脚本以与 Google API 库进行交互。下面的代码正在运行,我可以列出特定项目中的所有帐户。见下文:

代码:

输出:

现在,我试图利用 API 删除不需要的特定帐户(下面的脚本),但是,我似乎无法让 API 工作。我在这里再次使用 Google API 库,但它似乎不起作用。我不确定我做错了什么。非常感谢您提供的任何帮助。

代码:

输出:

0 投票
1 回答
1174 浏览

python - 直接从 Python 提交 Google Cloud ML Engine 作业

我有一个 Keras .h5 模型,我一直在本地训练,但现在希望通过 Google Cloud ML-Engine 自动化整个过程。

我已将所有 GCloud Storage 存储桶设置为可从应用程序访问,并且我已阅读有关配置作业以提交 Keras 模型以在 GCloud ML-Engine 中进行训练的信息。但是,所有这些教程(包括 google cloud ml-engine 上的文档)都表明要运行作业,最好从命令行运行gcloud ml-engine jobs submit training

但是,我知道用于 Google Cloud 的 Python 客户端库,但是上面的文档似乎有点不透明。

有人知道我是否可以完全从 python 文件本身提交模型的训练(通过直接 API 调用或通过 Google 客户端库)?我在问,因为我希望将其变成一个完全自动化的托管 Flask Web 应用程序,用于模型训练,因此它需要尽可能地不干涉。

0 投票
1 回答
2631 浏览

google-cloud-pubsub - google.cloud.pubsub_v1 和 google.cloud.pubsub 有什么区别?

我看到两者都在 Google 的不同文档中使用:

发现于:

然而

在以下位置找到:

0 投票
1 回答
1107 浏览

python - 使用 Google Sheets API 将 Google Sheet 文档发布到网络

我的目标是将 Google Sheet 文档发布到网络并使用 Google Sheets API 获取链接。

我设法使用此建议发布它,现在它在文件 - > 发布到 Web 选项卡中显示“已发布”。但是,此选项卡上给出的链接与原始链接不同file id,我不知道如何使用 API 获取它。

0 投票
1 回答
560 浏览

python - BigQuery google.cloud.exceptions.ServiceUnavailable 503

在使用 BigQuery API 时,我们有时会收到来自谷歌的错误

文件“../.venv/lib/python3.4/site-packages/google/cloud/bigquery/dataset.py”,第 452 行,存在 query_params={'fields': 'id'})

文件“../.venv/lib/python3.4/site-packages/google/cloud/_http.py”,第 293 行,在 api_request 中引发 exceptions.from_http_response(response) google.cloud.exceptions.ServiceUnavailable: 503 GET https ://www.googleapis.com/bigquery/v2/projects/ /datasets/?fields=id:执行过程中遇到错误。重试可能会解决问题。

由python代码引起

我们的系统:

  • 蟒蛇 3.4
  • 谷歌云大查询==0.26.0
  • 谷歌云==0.27.0

上次发生此错误的时间:

  • 18 年 2 月 18 日晚上 10 点 31 分(欧洲中部时间)
  • 4.02.18 上午 6:30 CET
  • 19 年 1 月 25 日晚上 8 点 50 分(欧洲中部时间)
  • 25.01.19 晚上 10:34 CET

任何想法为什么会发生以及我们如何避免这个错误?

0 投票
0 回答
69 浏览

google-api - 无法将父文件夹添加到从基本演示文件复制的文件中 - 权限不足错误(使用服务帐户)

我正在使用 google python 客户端库的 drive_service.files().patch() 方法来更新特定文件的父文件夹。此文件是使用 drive_service.files().copy() 方法创建的副本,复制基本模板 google slide,并且其权限已更新,任何拥有该文件链接的人都可以访问。

我正在使用服务帐户凭据进行 oauth2 身份验证

例子 -

目标文件夹 - A

原始文件 - f1 复制文件 - f2

步骤
1. 使用 - drive_service.files().copy() 复制文件。
2. 使用 - drive_service.permissions().insert() - 添加权限 -> 类型 - “任何人”,角色 - “writer”
3. 使用 - drive_service.files().patch({addParents: folderId}) - 用于添加父文件夹

步骤 1 和 2 已成功执行。第 3 步抛出以下错误 -
403 - “此文件的权限不足”

Google API Explorer 工具执行的相同请求成功创建了副本。

我试图更新其父母的文件的示例链接,其权限设置为任何人都可以访问

这是一个已知的问题?通过服务帐户凭据与 Google 用户进行身份验证的请求是否有任何区别。

0 投票
0 回答
29 浏览

python - 在 python CLI 脚本中使用时如何注销 Google 的 oauth2

我将 oauth2 用于我的 python CLI 脚本。

我正在使用这里的代码:https ://github.com/google/google-api-python-client/blob/master/samples/calendar_api/calendar_sample.py

我正在使用 ("--noauth_local_webserver" ) 选项运行脚本。

我第一次运行脚本时,它要求我登录谷歌页面并给了我一个验证码,我在我的脚本中输入了它并成功授权。但从下一次开始,它默认使用我第一次登录的同一个帐户。

我已经尝试关闭终端,但它仍然没有显示 oauth2 UI 以再次登录。

所以当我终止我的脚本时,我无法弄清楚如何注销这个东西。根据显示的代码,每次运行脚本时如何注销或至少重新登录?