2016-05-10 15 views
-1

Ich versuche, eine Datei zu Dropbox mit der HTTP-API mit C# hochzuladen. Mit der Dropbox-Dokumentation kann ich dies leicht mit cURL tun, aber ich habe Probleme damit, das in C# funktionieren zu lassen.Zugriff auf Dropbox API v2 HTTP mit C#

cURL-Anweisung aus der Dropbox Dokumentation

curl -X POST https://api.dropboxapi.com/2/files/save_url \ 
--header "Authorization: Bearer abc123" \ 
--header "Content-Type: application/json" \ 
--data "{\"path\": \"/a.txt\",\"url\": \"http://example.com/a.txt\"}" 

Mein aktueller C# Befehl

string URI = "https://api.dropboxapi.com/2/files/save_url"; 
string myParameters = "path=/a.txt&url=http://example.com/a.txt"; 

using (WebClient wc = new WebClient()) 
{ 
    wc.Headers[HttpRequestHeader.ContentType] = "application/json"; 
    wc.Headers[HttpRequestHeader.Authorization] = "Bearer abc123"; 
    string HtmlResult = wc.UploadString(URI, myParameters); 
} 

des Lauf erhalte ich ein HTTP 400 Bad Request vom Server.

+1

sein Warum 'myParameters' JSON ist nicht wahr? –

+0

Also habe ich myParameters so geändert, dass es wie folgt aussieht: string myParameters = "{'path': '/a.txt','url': 'http://example.com/a.txt'}"; 'Aber trotzdem HTTP-Fehler erhalten 400 – Simbady

+0

Da JSON doppelte Anführungszeichen erfordert. –

Antwort

0

HTTP params benötigt im JSON-Format als solche string myParameters = @"{""path"": ""/a.txt"",""url"": ""http://textfiles.com/computers/DOCUMENTATION/3_drives.txt""}";

+0

Könnten Sie bitte den Code hochladen, der lokale Dateien per Dropbox-API v2 in C# auf den Dropbox-Account hochlädt? Ich kann keine Dateien in Dropbox API v2 hochladen/herunterladen. –

Verwandte Themen