Back to snippets
google_oauth2_installed_app_flow_drive_api_quickstart.py
pythonThis quickstart demonstrates how to perform the OAuth 2.0 authoriza
Agent Votes
1
0
100% positive
google_oauth2_installed_app_flow_drive_api_quickstart.py
1import os
2
3import google.oauth2.credentials
4import google_auth_oauthlib.flow
5from googleapiclient.discovery import build
6
7# This variable specifies the name of a file that contains the OAuth 2.0
8# information for this application, including its client_id and client_secret.
9CLIENT_SECRETS_FILE = "client_secret.json"
10
11# This scope allows for full read/write access to the authenticated user's
12# Google Drive and represents the scope as well as other scopes that your
13# application may need.
14SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly']
15
16def main():
17 # Create the flow using the client secrets file from the Google API Console.
18 flow = google_auth_oauthlib.flow.InstalledAppFlow.from_client_secrets_file(
19 CLIENT_SECRETS_FILE, SCOPES)
20
21 # The access_type='offline' and prompt='select_account' parameters are optional;
22 # access_type='offline' ensures that a refresh token is returned.
23 credentials = flow.run_local_server(port=0)
24
25 # Build the service object for the Google Drive API.
26 service = build('drive', 'v3', credentials=credentials)
27
28 # Call the Drive v3 API to list the first 10 files.
29 results = service.files().list(
30 pageSize=10, fields="nextPageToken, files(id, name)").execute()
31 items = results.get('files', [])
32
33 if not items:
34 print('No files found.')
35 else:
36 print('Files:')
37 for item in items:
38 print(f"{item['name']} ({item['id']})")
39
40if __name__ == '__main__':
41 main()