如何在Google Calendar + Google Drive中使用多个范围

时间:2017-03-02 04:51:46

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

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

我有

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

但我也想要

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

可从同一文件访问。有谁知道如何去做这件事?

谢谢!

2 个答案:

答案 0 :(得分:5)

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

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)

当您需要访问日历时,如果需要访问驱动器,则可以使用日历服务来使用驱动器服务。

答案 1 :(得分:1)

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

示例:

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