Closed fgvenegas closed 8 years ago
Pregunto lo mismo! Dado que me tengo que conectar a mi usuario, puedo usar eso:
In order to make calls to the API, you'll need an instance of the Dropbox object. To instantiate, pass in the access token for the account you want to link. (Tip: You can generate an access token for your own account through the App Console).
dbx = dropbox.Dropbox('YOUR_ACCESS_TOKEN')
O es necesario hacer lo que dice @fgvenegas?
Veo que Dropbox usa el protocolo OAuth2 para la interacción con su API. Eso igual es medio complejo.
Al menos usa la versión más simple de OAuth2: refresh token. Estos dos últimos términos son claves.
Por razones de seguridad, casi ninguna API actual permite el sistema de usuario y contraseña (Basic Auth), pues es super inseguro. Se darán cuenta que cada vez que usan una app que se conecta con Facebook, esta les redirige a Facebook para pedir permisos y ustedes nunca le exponen su contraseña a la app.
Dado eso, qué debemos hacer? Decirle al usuario que se meta a autorizar la app manualmente? Que aparezca un pop-up usando un navegador? Mostrar la página dentro de la GUI? No sale especificado :/
Quizás abrirlo en una webview o cómo se llame en PyQt
yo hice algo asi, con QWebView, abro un navegador en python donde el usuario se logea y saca el token y al mismo tiempo creo un widget donde debe ingresarlo para conectarse y funciona
A mi me pasa que abro la pagina de dropbox en python pero no me permite presionar el boton de inicio de sesion. ¿Que puedo hacer en ese caso?
+1
yo tampoco puedo apretar inicio :c alguien pudo solucionarlo?
PD: no seria mejor que cada usuario ingrese su token, dejarlo como una variable al comienzo como con el puerto y ip..
en que quedo estooo? se puede hacer que el usuario ingrese el token nomas o tenemos que mandarlo a la pagina de dropbox?
+1 a @tamycova, o podemos ofrecer las dos alternativas ? (validar en Dropbox o ingresar el token)
+1 a que pidamos solo el token para hacer login
tareos ayuden :C
por que no les funciona el QtWebKit.QWebView
? le estan poniendo algun stylesheet?
que paso con esto alfinal? podremos usar simplemente el token???
podrían responder los ayudantes :(
Hey @bamavrakis yo te elijo!
Yo les recomiendo que manden al usuario a la página de dropbox a autorizar la app. Esto le debiese entregar el Token al usuario que autoriza a su app. Posteriormente ustedes simplemente le piden ese token como input en la interfaz. Es decir algo como esto:
- El usuario corre su programa
- Se abre el browser pidiendo la autorización
- El usuario acepta
- Se le muestra un token
- Lo ingresa en su interfaz
- Siguen con el resto de su programa normalmente
Saludos!
A todo esto, la parte del browser y token viene hecho por Dropbox, no es que ustedes tengan que programar esto. Una vez que lo manden a esta página y ellos acepten, se debiese ver algo como esto
Si siguen con problemas logrando hacer lo que les dije. Lean la documentación de HTTP de Dropbox. En ese lugar, vean los requests:
- /oauth2/authorize
- /oauth2/token
Con esos dos les debiese bastar para obtener el token de un usuario programáticamente y no les debiese tomar mucho más de 5 líneas de código.
Saludos!
Cuando una persona se loguee es necesario redirigirlo a la pagina de mi app, que se le entregue un codigo de autorizacion, lo ingrese, y ahi pueda entrar o en teoria el deberia ingresar su usario y contrasñea y listo?