存储来自Google OAuth 2.0的访问令牌,以便从应用程序帐户访问驱动器数据

Nav*_*avi 7 google-drive-api google-api-python-client

我可以 使用python为Google Drive 执行quickstart.py.但是我们如何存储令牌并再次使用它 - 再次针对同一用户而不提示用户.他们可以通过某种方式在Google驱动器上发送文件请求时使用访问令牌映射用户.

bos*_*ter 9

Storage提供了许多不同类型google-api-python-client,其中一些已有详细 记录.

一些例子:

oauth2client.file.Storage:

from oauth2client.file import Storage
...
storage = Storage('a_credentials_file')
storage.put(credentials)
...
credentials = storage.get()
Run Code Online (Sandbox Code Playgroud)

oauth2client.keyring_storage.Storage:

from oauth2client.keyring_storage import Storage
...
storage = Storage('application name', 'user name')
storage.put(credentials)
...
credentials = storage.get()
Run Code Online (Sandbox Code Playgroud)

oauth2client.appengine.StorageByKeyName:

from oauth2client.keyring_storage import StorageByKeyName
from oauth2client.keyring_storage import CredentialsNDBModel
...
storage = StorageByKeyName(CredentialsNDBModel, some_user_id, 'credentials')
storage.put(credentials)
...
credentials = storage.get()
Run Code Online (Sandbox Code Playgroud)

oauth2client.django_orm.Storage:

from django.contrib.auth.models import User
from oauth2client.django_orm import Storage
from your_project.your_app.models import CredentialsModel
...
user = # A User object usually obtained from request.
storage = Storage(CredentialsModel, 'id', user, 'credential')
credential = storage.get()
...
storage.put(credential)
Run Code Online (Sandbox Code Playgroud)