访问用户 google 驱动器

Accessing a users google drive

我有一个 django 站点,它使用 Django allauth 供用户使用他们的 google 帐户登录并授予对他们的 google 驱动器的权限。登录后,django-allauth 会为该用户保存一个令牌。这部分工作正常。

我现在如何访问用户的 google 驱动器(已授予权限),以列出可用文件?大概这需要使用由于 django-allauth.

而保存的令牌

我已经安装了 python google api client 但我正在努力弄清楚如何使用用户的令牌来列出他们的 google 驱动器的内容。

有烧瓶例子here which im trying to modify for use in a django project utilizing django-allauth. The sign in flow works correctly, but django-allauth does not ensure that google drive access is requested. I've tried updating my settings as per this:

SOCIALACCOUNT_PROVIDERS = {
    "google": {
        "SCOPE": [
            "https://www.googleapis.com/auth/drive.metadata.readonly",
            "https://www.googleapis.com/auth/userinfo.profile",
        ],
        "AUTH_PARAMS": {"access_type": "offline"},
    }
}

没有发布任何答案,所以我只是发布我结束时做的事情。看起来 django-allauth 不能同时用于常规 google 身份验证和 api 身份验证。

因此,目前用户首先必须使用由 django-allauth 处理的 google 帐户登录该站点。然后一旦他们登录,他们就可以 select 授予访问他们的 google 驱动器的权限,然后启动一个新的身份验证流程(使用 Google python api client

对于现在阅读本文的任何人,allauth 的当前版本确实支持 API 身份验证。

您需要在 SCOPE 列表中提供完整的 URL(例如 https://www.googleapis.com/auth/drive),而不仅仅是范围名称(例如电子邮件),用于不在 allauth 中的默认列表中的范围.