Cumplimiento del procedimiento OAuth2.0 de la API de Google Drive sin necesidad de encontrar un código de verificación

La API de Google Drive tiene el siguiente procedimiento OAuth2.0 desde su inicio rápido para recibir el servicio de la unidad al final:

# Copy your credentials from the APIs Console CLIENT_ID = 'YOUR_CLIENT_ID' CLIENT_SECRET = 'YOUR_CLIENT_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' # Path to the file to upload FILENAME = 'document.txt' # 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) # 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) 

Observe que se le dará la variable authorize_url que se imprime. Se supone que debe visitarlo utilizando un navegador y luego confirmar que permite que Google Drive acceda a su información, lo que le permite obtener un “código de verificación”. ¿Hay alguna manera de evitar el paso de la intervención manual y crear un progtwig que automatice este paso?

Sí, puede usar el servidor web para obtener una callback de OAuth que no requiere la interacción del usuario.

Básicamente, usted configura su servidor para recuperar un código de verdad y agregar uri de redireccionamiento al flujo de manera que así mismo envíe el código a la uri dada en lugar de decirle al usuario que coloque el código en el cuadro de texto.

Eche un vistazo al método tools.run_flow () en google-api-python-client. Tiene un código bastante útil de servidor web local o flujo de datos.