2011-12-04 17 views
10

Dosyaları bir C/C++ uygulamasında DropBox'a göndermek için libcurl kullanmaya çalışıyorum.DropBox'a dosya yüklemek için libcurl kullanma

aşağıda belgelendiği gibi API "/ dosyaları (POST)" kullanmak istiyorum

...

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

düzgün (OAuth) bu çağrı kimlik doğrulaması sorun yaşıyorum. Kimlik doğrulama imzasının düzgün bir şekilde nasıl oluşturulacağı açık değil.

Gördüğüm bir örnekten, HMAC-SHA1 kodlamasını oluşturmak için tüm dosyada okuyormuş gibi görünüyordu. Bu büyük dosyalar üzerinde sorunlu görünüyor.

Bu API'yi veya benzer bir şeyi kullanan herhangi birinin deneyimi veya anlayışı var mı?

+1

+1 Size yardımcı olamadım, Ama harika bir fikir! Bir proje mi yapıyorsun? Açık kaynak mı? – ApprenticeHacker

+0

Oauth API'sine bakarak, bir HTTP isteğini formüle edip, bununla birlikte bir "Signature Base String" oluşturur ve sonra imzayı oluşturmak için o dizedeki HMAC-SHA1'i kullanırsınız. Bkz. Ek A.5.1, http://oauth.net/core/1.0/ – Brad

+0

@Bob Brown Merhaba, C++ ile dosyaları-POST'u başarıyla uyguladınız mı? Bu işi almak için çok uğraşıyorum .. umarım yardımcı olabilirsiniz. – mister

cevap

1

Sadece sina weibo'dan bilgi almak için libouth ve libcurl'i kullanıyorum. İşte size örnek vereceğim. Ayrıca ben BOOST ASIO kullanmanızı öneririz

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

oauthtest.c, testler dir liboauth testi programcısı başvurabilir. Bir esinti yükleme ve indirme yapar.

+0

Dropbox için boost asio kullandınız mı? Yoksa genel olarak yükleme/indirme anlamına mı geliyor? – optikradio

İlgili konular