Foros del Web » Programando para Internet » Python »

Intentando acceder a google drive desde python

Estas en el tema de Intentando acceder a google drive desde python en el foro de Python en Foros del Web. Hola a todos. Estoy intentando hacer una aplicación para acceder a google drive desde python. Estoy atascado en un punto: Cuando hago OAuth2WebServerFlow() todo va ...
  #1 (permalink)  
Antiguo 12/09/2014, 10:44
 
Fecha de Ingreso: febrero-2014
Mensajes: 55
Antigüedad: 10 años, 2 meses
Puntos: 3
Intentando acceder a google drive desde python

Hola a todos.

Estoy intentando hacer una aplicación para acceder a google drive desde python.

Estoy atascado en un punto: Cuando hago OAuth2WebServerFlow() todo va bien, obtengo la url a la que dirigirme para obtener el código de autenticación.

El problema es que me gustaría poder obtener ese código desde el código fuente, es decir, sin tener que abrir el navegador, dar permisos etc., copiar el link y pegarlo.

¿Cómo lo puedo hacer?

Saludos, gracias.

EDITO: inserto el código que he escrito hasta ahora:
Código:
def prueba():
    #Instanciar un objeto OAuthWebServerFlow
    flow = OAuth2WebServerFlow(CLIENT_ID,CLIENT_SECRET,SCOPE,REDIRECT_URI)
    #Obtener la url donde dan el código de autorización
    auth_uri = flow.step1_get_authorize_url()
    #Abrir el navegador predeterminado de windows con la url recién obtenida
    webbrowser.get("windows-default").open_new(auth_uri)  #<=== Esto es lo que quiero evitar
    #Obtener código
    code = raw_input("Escribe el código de autenticación") #<=== Esto es lo que quiero evitar
    #Obtener credenciales
    credentials = flow.step2_exchange(code)

Última edición por SARGE553413; 12/09/2014 a las 11:01 Razón: Insertar código
  #2 (permalink)  
Antiguo 12/09/2014, 11:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Intentando acceder a google drive desde python

Depende de como lo quieras hacer.

Server-side? Cliente-side? Algún otro método?

Aqui hay un link de las diferentes alternativas que tienes: https://developers.google.com/drive/web/about-auth

Es un proceso un poco largo porque checas varios escenarios, pero es un proceso que haces una sola vez.
  #3 (permalink)  
Antiguo 15/09/2014, 01:27
 
Fecha de Ingreso: febrero-2014
Mensajes: 55
Antigüedad: 10 años, 2 meses
Puntos: 3
Respuesta: Intentando acceder a google drive desde python

Cita:
Iniciado por razpeitia Ver Mensaje
Depende de como lo quieras hacer.
Server-side? Cliente-side? Algún otro método?
Pues no lo tengo muy claro, es una pequeña app que lo que tiene que hacer es comprimir unos archivos y subirlos a drive. Lo estoy haciendo con Python así que imagino que eso ya de por sí es server-side, ¿no es así? De hecho, hay un apartado en la guía de google para "installed applications", no se si ese es mi caso.

Cita:
Iniciado por razpeitia Ver Mensaje
Aqui hay un link de las diferentes alternativas que tienes: https://developers.google.com/drive/web/about-auth
Si, esa url ( y otras ) , es la que he usado para la prueba que he hecho, pero ahí los ejemplos que veo son teniendo ya el código de seguridad. Yo lo que quiero saber es como obtener ese código de seguridad pero sin abrir el navegador y copiar y pegar.
Es decir, llega un momento en que se obtiene una URL de autorización. Al acceder a ésta, se te pide permiso para que una aplicación pueda acceder a tus datos de drive. Aceptas y entonces te lleva a una web donde aparece el código que tienes que usar. Hasta ahora ese paso yo lo he hecho "manualmente", es decir, con mi navegador voy a ese link, acepto y copio-pego el código. Quiero hacer eso mismo pero a través del programa, es decir, acceder a la web, aceptar que la app. acceda a mis datos y obtener el código.

Gracias, saludos.

EDITO: He encontrado lo que buscaba creo: https://developers.google.com/accoun...l=ES#libraries
Cuando lo haga posteo la solución completa.

Última edición por SARGE553413; 15/09/2014 a las 02:10

Etiquetas: drive, google
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:58.