2015-01-10 13 views
6

Sto cercando ovunque e non sono stato in grado di trovare un esempio adatto e non sono abbastanza esperto per essere in grado di risolverlo tramite i documenti . Qualcuno con più conoscenza di me potrebbe mostrarmi come formare il comando CURL per OAUTH 2? Ed è che ho solo bisogno della chiave segreta OAUTH 2? Mi viene mostrato un tasto App, app secret e oauth 2. Lo sto usando in uno script perl se è importante.Esempio di API DropBox PUT utilizzando Curl e Oauth 2 per caricare un file su DropBox

Il codice più vicino che ho trovato è questo:

curl --request PUT --header "Content-Length: `ls -la jonathan.txt | awk '{ print $5}'`" --header   
"Content-Type: multipart/mixed" --data-binary "@jonathan.txt" "https://api-  
content.dropbox.com/1/files_put/dropbox/jonathan.txt?access_token=ABCDEF" 

Ma non credo che sia OAuth 2?

risposta

12

Se si dispone di un token di accesso (creato tramite la console app):

curl -H "Authorization: Bearer <your token>" https://api-content.dropbox.com/1/files_put/auto/ -T <your file path> 
9

Per l'account è necessario un token di accesso per l'account. (Questo è in genere acquisito passando attraverso il flusso OAuth, ma puoi anche ottenerne uno per il tuo account facendo clic sul pulsante "Genera" nella pagina per la tua app Dropbox. Vedi https://www.dropbox.com/developers/blog/94/generate-an-access-token-for-your-own-account.)

Una volta che hai accesso token, probabilmente il comando curl dovrebbe funzionare, anche se preferisco --header "Authorization:Bearer abc123xyz" per inserire il token di accesso in un parametro di query. Inoltre, rilascia lo Content-Type: multipart/mixed, poiché non è quello che stai inviando.

Suggerisco anche "auto" invece di "dropbox", solo perché fa sempre la cosa giusta indipendentemente dal tipo di app.

+0

Grazie per questo. Vorrei poterti approvare entrambi, ma dato che Hans ha reso un po 'più semplice stendendo il codice che gli ho dato. Tuttavia, apprezzo le informazioni extra. – CRAIG

Problemi correlati