Google 应用程序凭据 Python(Jupyter 笔记本)

Google Application Credentials Python (Jupyter Notebook)

我正在尝试按照 Python 和 Jupyter Notebook 的说明开始使用 Google Analytics API 4。我按照说明 https://developers.google.com/analytics/devguides/reporting/data/v1/quickstart-client-libraries 进入第 3 步。配置身份验证

然后他们写说你需要设置 GOOGLE_APPLICATION_CREDENTIALS="[PATH]" 我把这个文件下载到我的电脑并添加到项目文件夹,但我无法使用该服务进行验证帐号。

他们在 github 上写道 https://github.com/googleapis/python-analytics-data#installation 您需要使用虚拟环境?是这样吗?没有它还能工作吗?

我正在使用服务帐户,而不是 oauth 2.0

要明确 GOOGLE_APPLICATION_CREDENTIALS 是 virtual environmental variable。许多 google 客户端库使用此变量来加载任何 API 的凭据。我已将其复制为的问题显示了多种设置方法。

因为你似乎还有点不确定。这是一些附加信息。

如文档中所述。

An easy way to provide service account credentials is by setting the GOOGLE_APPLICATION_CREDENTIALS environment variable, the API client will use the value of this variable to find the service account key JSON file.

您需要在您的计算机上将环境变量设置为服务帐户密钥文件的路径。

有很多关于如何做到这一点的例子。

我做到了。我会告诉你结果如何适合初学者:

https://developers.google.com/analytics/devguides/reporting/data/v1/quickstart-client-libraries

  • 点击蓝色按钮启用Google Analytics Data API v1,创建一个项目,在Google Cloud中创建一个服务帐户,然后Google 分析 API 已激活。下载 JSON 个文件

  • 之后需要在GA4资源中添加服务账号

  • 那么你需要按照这里的方法进行认证https://cloud.google.com/docs/authentication/production#setting_the_environment_variable 这需要手动传递凭据。使用文章中的代码,表示json文件在电脑上的路径

尝试验证服务帐户时,将发出 403 GET storage.googleapis.com/storage/v1/...:starting-account-smhpwtovr5jj @test-data-api-1654114095791.iam.gserviceaccount.com 没有 storage.buckets.list 访问 Google 云项目的权限。

为此,您需要转到 IAM 并为 Owner 或 Storage Admin 服务帐户创建一个新角色。之后,GOOGLE_APPLICATION_CREDENTIALS 找到并可以开始安装 Data API library