2011-12-04 14 views
10

Próbuję użyć libcurl w aplikacji C/C++ do publikowania plików w Dropbox.Używanie libcurl do przesyłania plików do DropBox

Chciałbym użyć "/ pliki (post)" API udokumentowane tutaj ...

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

Mam problemy z prawidłowo uwierzytelniania (OAuth) niniejszego zaproszenia. Nie jest dla mnie jasne, jak poprawnie utworzyć podpis uwierzytelniający.

Z jakiejś próbki, którą widziałem, wyglądało na to, że czytają cały plik, aby utworzyć kodowanie HMAC-SHA1. Wydaje się to problematyczne w przypadku dużych plików.

Czy ktoś ma doświadczenie lub wiedzę z wykorzystaniem tego API lub czegoś podobnego?

+1

+1 Nie mogę ci pomóc, ale świetny pomysł! Czy robisz projekt? Czy to jest open-source? – ApprenticeHacker

+0

Patrząc na apap Oautha, formułujesz żądanie HTTP, a następnie generujesz "Signature Base String", a następnie używasz HMAC-SHA1 na tym łańcuchu do wygenerowania podpisu. Zobacz dodatek A.5.1 na http://oauth.net/core/1.0/ – Brad

+0

@Bob Brown Hi czy pomyślnie zaimplementowano pliki POST z C++? próbuję tak ciężko, aby uzyskać tę pracę .. mam nadzieję, że możesz pomóc. – mister

Odpowiedz

1

Właśnie skorzystałem z libouth i libcurl, aby uzyskać informacje od sina weibo. oto mój przykład dla ciebie. Można również zapoznać się z programatora testową liboauth w testach 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

Proponuję za pomocą BOOST ASIO. Sprawia, że ​​przesyłanie i pobieranie jest proste.

+0

Czy używałeś asio dla dropboxa? Czy chodzi ci ogólnie o przesyłanie/pobieranie? – optikradio

Powiązane problemy