2016-05-10 4 views
-1

Я пытаюсь загрузить файл в Dropbox с помощью HTTP API с помощью C#. Используя документацию Dropbox, я могу сделать это легко, используя cURL, но я изо всех сил пытаюсь заставить это работать на C#.Доступ к API Dropbox v2 HTTP с C#

Curl заявление от Dropbox документации

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\"}" 

Мой текущий C# команды

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); 
} 

Запуск этого я получаю HTTP 400 Bad Request от сервера.

+1

Почему 'myParameters' не JSON? –

+0

Итак, я изменил параметры myParameters на «string myParameters =» {'path': '/a.txt','url': 'http://example.com/a.txt'} ";' Но все же получить HTTP-ошибку 400 – Simbady

+0

Поскольку JSON требует двойной кавычки. –

ответ

0

HTTP Params нужно быть в формате Json как таковой string myParameters = @"{""path"": ""/a.txt"",""url"": ""http://textfiles.com/computers/DOCUMENTATION/3_drives.txt""}";

+0

Не могли бы вы отправить код, который загружает локальные файлы в аккаунт Dropbox, используя Dropbox API v2 в C#. Я не могу загружать/загружать файлы в Dropbox API v2. –

Смежные вопросы