Доступ к пользовательскому диску Google

У меня есть сайт django, который использует Джанго Аллаут для пользователей, чтобы войти в систему, используя свою учетную запись Google, и предоставить разрешение на свой диск Google. После входа в систему django-allauth сохраняет токен для этого пользователя. В этой части все работает корректно.

Как мне теперь получить доступ к диску Google пользователя (который дал разрешение), чтобы просмотреть список доступных файлов? Предположительно, для этого нужно использовать токен, который был сохранен благодаря django-allauth.

Я установил API-клиент Google для Python, но не могу понять, как использовать токен пользователя для отображения содержимого его диска Google.

Существует пример фляги здесь, который я пытаюсь изменить для использования в проекте django с использованием django-allauth. Процесс входа работает правильно, но django-allauth не гарантирует, что запрашивается доступ к диску Google. Я попытался обновить свои настройки в соответствии с это:

SOCIALACCOUNT_PROVIDERS = {
    "google": {
        "SCOPE": [
            "https://www.googleapis.com/auth/drive.metadata.readonly",
            "https://www.googleapis.com/auth/userinfo.profile",
        ],
        "AUTH_PARAMS": {"access_type": "offline"},
    }
}
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
363
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Там не было опубликовано никаких ответов, поэтому я просто публикую то, что я закончил делать. Не похоже, что django-allauth можно использовать как для обычной аутентификации Google, так и для аутентификации API.

Поэтому на данный момент пользователь должен сначала войти на сайт, используя свою учетную запись Google, которая обрабатывается django-allauth. Затем, как только они вошли в систему, они могут выбрать предоставление доступа к своему диску Google, который затем запускает для этого новый поток аутентификации (используя API-клиент Google Python)

Привет, @darkpool, у тебя есть какие-нибудь рекомендации по тому, что ты придумал? Я чувствую, что документация Google как по аутентификации, так и по базовым функциям (совместное использование, предоставление разрешений и т. д.) с apiv3 довольно скудна в этом...

ambe5960 25.10.2020 22:57

Для тех, кто читает это сейчас, текущая версия allauth поддерживает аутентификацию API.

Вам необходимо указать полный URL-адрес (например, https://www.googleapis.com/auth/drive), а не только имя области (например, адрес электронной почты) в списке SCOPE для областей, которых нет в списке по умолчанию в allauth.

У вас есть пример вызова API с использованием этого? Это было бы невероятно полезно - заранее спасибо!

Shadi Almosri 08.12.2020 11:26

Согласованный. Если у вас есть пример, это было бы очень полезно!

Chaky31 20.01.2021 22:30

Другие вопросы по теме