【问题标题】:How to have multiple scopes with Google Calendar + Google Drive如何使用 Google Calendar + Google Drive 拥有多个范围
【发布时间】:2017-03-02 04:51:46
【问题描述】:

我是 Google API 的新手,想知道如何在同一个文件中访问 2 个不同的 API。

我有

SCOPES = 'https://www.googleapis.com/auth/calendar'

但我也想要

SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly'

可以从同一个文件中访问。有谁知道该怎么做?

谢谢!

【问题讨论】:

    标签: python google-api google-calendar-api google-oauth google-drive-realtime-api


    【解决方案1】:

    当您进行身份验证时,只需添加两个范围。系统将提示用户授予您对两者的访问权限。

    SCOPES = 'https://www.googleapis.com/auth/drive.metadata.readonly https://www.googleapis.com/auth/calendar'
    

    你可能需要在它们之间加一个逗号,我不确定这取决于库

    现在我不是 python 开发人员,但是大多数 Google 客户端库都是相同的。假设您正在使用它,您将需要同时创建日历服务和驱动器服务。您使用从上面获得的相同凭据创建它们。从here 窃取的代码。

    serviceDrive = discovery.build('drive', 'v3', http=http)
    serviceCal = discovery.build('calendar', 'v3', http=http)
    

    当您需要访问日历时,您使用日历服务;当您需要访问驱动器时,您使用驱动器服务。

    【讨论】:

    • 谢谢,我会试试这个!
    【解决方案2】:

    将范围添加到列表对象中。

    例子:

    SCOPES = ['https://www.googleapis.com/auth/calendar',
              'https://www.googleapis.com/auth/drive.metadata.readonly']
    

    【讨论】:

    • 对我有用,在使用 [1] 中的官方身份验证示例时要小心 - 首先:您可以从命令行添加其他范围,脚本将处理其余部分,但如果您添加他们直接到代码,你需要更改代码,因为配置的范围将被放入另一个列表:“configured_scopes = [_SCOPE]”[1]github.com/googleads/google-ads-python/blob/master/examples/…
    猜你喜欢
    • 2014-12-23
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 2023-01-27
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    相关资源
    最近更新 更多