如何在没有用户交互的情况下授权 Google API?

时间:2021-03-18 14:38:39

标签: python google-api google-oauth google-analytics-api google-api-python-client

我正在尝试对 Google Analytics API 运行自动化的每日 API 调用

问题是当我运行命令建立连接时,我的浏览器中弹出一个窗口 我必须单击以允许访问我的项目。

是否有必要避开这一步,因为这一步需要在我的浏览器中提供可视化界面和操作,我似乎无法让它每天在后台自动运行。

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您需要进入谷歌云控制台,启用 API,并使用正确的密钥设置服务帐户。 https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-py

答案 1 :(得分:1)

您应该考虑使用服务帐户。服务帐户就像虚拟用户,您可以通过获取服务帐户电子邮件地址并将其添加为您希望访问的帐户的用户来预先授权服务帐户访问您的 Google 分析帐户。通过这样做,代码不需要像您目前看到的那样由用户授权。

服务帐户只能用于开发者拥有的帐户,不应用于访问其他用户的帐户,因为您应该使用 Oauth2。

官方教程可以在这里找到Hello Analytics Reporting API v4; Python quickstart for service accounts

class ConcreteClass(Mixin, BaseClass):

    params_for_decorator = [1, 2, 3, 4, 5, ]
            
    #  from  Mixin by MRO
    @decorator(params = [1, 2, 3, 4, 5, ])
    def foo(self, *args, **kwargs):
        pass

您需要在 Google 开发者控制台上创建服务帐户凭据,您现在使用的凭据将不起作用。这是 How to create Google Oauth2 Service account credentials.

上的视频

记得在库下启用 Google 分析报告 API。

相关问题