2011-12-04 6 views
10

Sto provando a utilizzare libcurl in un'applicazione C/C++ per pubblicare file su DropBox.Uso di libcurl per caricare i file su DropBox

Vorrei utilizzare il "/ file (POST)" API come documentato qui ...

https://www.dropbox.com/developers/reference/api#files-POST

sto avendo problemi con l'autenticazione correttamente (OAuth) questa chiamata. Non mi è chiaro come creare correttamente la firma di autenticazione.

Da alcuni esempi che ho visto, sembrava che stessero leggendo nell'intero file per creare la codifica HMAC-SHA1. Questo sembra problematico su file di grandi dimensioni.

Qualcuno ha esperienza o intuizione utilizzando questa API o qualcosa di simile?

+1

+1 Non posso aiutarti, ma un'idea fantastica! Stai facendo un progetto? È open source? – ApprenticeHacker

+0

Guardando l'API di Oauth, si formula una richiesta HTTP, quindi si genera una "stringa di base di firma" con quella, quindi si utilizza HMAC-SHA1 su quella stringa per generare la firma. Vedi l'Appendice A.5.1 su http://oauth.net/core/1.0/ – Brad

+0

@Bob Brown Ciao hai implementato con successo i file-POST con C++? Sto cercando così tanto di ottenere questo lavoro .. speriamo che tu possa dare una mano. – mister

risposta

1

Ho appena usato libouth e libcurl per ottenere informazioni da sina weibo. ecco il mio esempio per te riferimento. si può anche fare riferimento al programmatore di prova liboauth nel test dir, oauthtest.c

if (use_post) 
    { 
     req_url = oauth_sign_url2(test_call_uri, &postarg, OA_HMAC, NULL, c_key, c_secret, t_key, t_secret); 
     reply = oauth_http_post(req_url,postarg); 
    } 
0

Io suggerisco di usare BOOST ASIO. Rende il caricamento e il download di un gioco da ragazzi.

+0

Hai usato boost asio per dropbox? O intendi il caricamento/il download in generale? – optikradio