Przykład konta usługi Google Drive API Python
Czy można uwierzytelnić się w interfejsie API Dysku Google przy użyciu konta usługi Google zamiast przepływu OAuth?
Przykłady Pythona dla Dysku Google używają OAuth - Dysk Google Python Szybki start
Nie mogę jednak znaleźć żadnych przykładów kont usługi.
Jednak większość innych interfejsów API Google, których używam (Tłumacz, Cloud Vision) , korzysta z konta usługi, dlatego chciałbym zrezygnować z mojego kodu OAuth Dysku Google, aby zachować spójność.
Odpowiedzi
Najlepszym przykładem konta usługi w Pythonie, jaki znam, jest ten dotyczący Google Analytics
Powinno być coś takiego.
from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
SCOPES = ['https://www.googleapis.com/auth/drive.readonly']
KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>'
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'
def initialize_drive():
"""Initializes an service object.
Returns:
An authorized service object.
"""
creds = ServiceAccountCredentials.from_json_keyfile_name(
KEY_FILE_LOCATION, SCOPES)
# Build the service object.
service = build('drive', 'v3', credentials=creds)
return service
Po uzyskaniu usługi dysku powinieneś być w stanie użyć pozostałej części kodu z innego samouczka. To tylko metoda uwierzytelniania, która jest inna.
Pamiętaj tylko, aby utworzyć poświadczenia konta usługi, a nie poświadczenia Oauth.