Jestem w stanie wykonać quickstart.py dla Dysku Google przy użyciu Pythona. Ale w jaki sposób przechowujemy token i używamy go ponownie - ponownie dla tego samego użytkownika bez pytania użytkownika. Czy w jakiś sposób mogę odwzorować użytkownika z tokenem dostępu podczas wysyłania żądania pliku na dysk Google.Zapisuj token dostępu z Google OAuth 2.0, aby uzyskać dostęp do danych napędu z konta aplikacji
5
A
Odpowiedz
8
Istnieje wiele różnych rodzajów oferowanych przez Storage
google-api-python-client
, z których some są welldocumented.
Przykłady:
oauth2client.file.Storage:
from oauth2client.file import Storage
...
storage = Storage('a_credentials_file')
storage.put(credentials)
...
credentials = storage.get()
oauth2client.keyring_storage.Storage:
from oauth2client.keyring_storage import Storage
...
storage = Storage('application name', 'user name')
storage.put(credentials)
...
credentials = storage.get()
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()
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)
3
myślę, że należy dać kredyt bossylobster dla pełniejszej odpowiedzi, ale na podstawie Twojego komentarza, który jest właśnie mój setup, mam powiększone o quickstart.py używając Klasa składowania:
#!/usr/bin/python
import httplib2
import pprint
from apiclient.discovery import build
from apiclient.http import MediaFileUpload
from oauth2client.client import OAuth2WebServerFlow
from oauth2client.file import Storage
# Copy your credentials from the console
CLIENT_ID = 'PASTE_YOUR_ID'
CLIENT_SECRET = 'PASTE_YOUR_SECRET'
# Check https://developers.google.com/drive/scopes for all available scopes
OAUTH_SCOPE = 'https://www.googleapis.com/auth/drive'
# Redirect URI for installed apps
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'
# Create a credential storage object. You pick the filename.
storage = Storage('a_credentials_file')
# Attempt to load existing credentials. Null is returned if it fails.
credentials = storage.get()
# Only attempt to get new credentials if the load failed.
if not credentials:
# Run through the OAuth flow and retrieve credentials
flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI)
authorize_url = flow.step1_get_authorize_url()
print 'Go to the following link in your browser: ' + authorize_url
code = raw_input('Enter verification code: ').strip()
credentials = flow.step2_exchange(code)
storage.put(credentials)
# Create an httplib2.Http object and authorize it with our credentials
http = httplib2.Http()
http = credentials.authorize(http)
drive_service = build('drive', 'v2', http=http)
# Use 'drive_service' for all of the API calls
Powiązane problemy
- 1. Jak zautomatyzować logowanie do Google API, aby uzyskać token OAuth 2.0, aby uzyskać dostęp do znanego konta użytkownika
- 2. Niezastosowanie się odzyskać OAuth 2.0 token dostępu na android emulator
- 3. Jak zdobyć token dostępu Google OAuth 2.0 bezpośrednio za pomocą curl? (bez korzystania z Bibliotek Google)
- 4. Korzystanie z Facebooka OAuth 2.0 - Jak pobrać token dostępu?
- 5. token odświeżania konta (dostęp offline)
- 6. Jak odświeżyć token, który dostałem z google oauth 2.0 w iOS
- 7. Jak zresetować autoryzację google oauth 2.0?
- 8. W jaki sposób mogę autoryzować dostęp do konta usługi dysku Google za pomocą konta Google bez korzystania z aplikacji Google?
- 9. Kontakty Google tylko do odczytu (OAuth 2.0)
- 10. Uzyskaj token dostępu z google plus Android
- 11. OAuth (token dostępu) Klucz interfejsu Vs API
- 12. uwierzytelnianie OAuth 2.0 (google api) z aplikacji komputerowej WPF?
- 13. OAuth 2.0. Bez sesji? (Bezpaństwowiec)
- 14. Jak uzyskać token dostępu z GoogleCredential?
- 15. Jak korzystać z konta usługi, aby uzyskać dostęp do interfejsu API Google Analytics w wersji 3 z .NET C#?
- 16. Uzyskaj dostęp do Gmail Imap przy użyciu tokenu dostępu OAuth 2.0
- 17. Jak przyznać uprawnienia konta, aby uzyskać dostęp do certyfikatu?
- 18. Niepowodzenie delegowania dostępu do konta Google na konto usługi
- 19. Facebook graphApi oAuth - jak zdobyć token dostępu?
- 20. Oauth 2.0 nie może uzyskać tokenu dostępu z wartości "signed" signed_request
- 21. Google Drive API OAuth 2.0; Błąd: origin_mismatch
- 22. Jak mogę uzyskać zaktualizowany token dostępu, używając przechowywanego tokena odświeżania
- 23. Uzyskaj token dostępu Facebook z Social.framework (iOS6)
- 24. Prośba o dostęp do konta dostępu do usługi Google OAuth2 daje odpowiedź "Nieprawidłowe żądanie"
- 25. Jak uzyskać dostęp do katalogu danych JBoss z poziomu aplikacji?
- 26. W jaki sposób mogę użyć "Prostego klucza dostępu do interfejsu API" Google, aby uzyskać dostęp do informacji z Kalendarza Google (PHP)?
- 27. Jak uwierzytelniania OAuth, aby uzyskać dostęp do API EWS
- 28. Jak uzyskać identyfikator użytkownika Google (e-mail) podczas korzystania z konta Google? API OAuth
- 29. Jak zdobyć token dostępu i dostęp Token Secret z Magento 1.7 REST API
- 30. CakePHP OAuth z Google
Nie pracuję na Google App Engine Skrypt powinien działać na serwerze odczytać niektóre pliki i wypełnić bazę danych na podstawie danych w tych plikach. Chcę go najpierw skonfigurować, tj. Wkleić link do przeglądarki, a następnie uzyskać autoryzowany kod, wklejając go z powrotem do terminala. Dane zawsze będą czytać z tego samego identyfikatora użytkownika. Po danych, nawet jeśli skrypt się zatrzyma, po ponownym uruchomieniu powinien odczytać z pamięci. zrobić to. – Navi