2016-09-20 2 views
0

Приложение Xamarin forms загружает zip-файл на Google-диск, используя rest apis. Но имя всегда отображается как «untitled». Поэтому я пытался использовать многостраничный контент, но получил ошибку синтаксического анализа с помощью " код ": 400,Загрузка файла многопользовательского файла GoogleDrive в xamarin

var jsonstring = "{ \"name\": \"demo.zip\” }"; 

var multicontent = new MultipartContent(); 

var strcontent = new StringContent(jsonstring); 

var backupContent = “byte array content of my file”; 

multicontent.Add(strcontent); 
multicontent.Add(backupContent); 
HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer”, “my token value"); 

HttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Length", backupContent.ContentLength.ToString()); 

    HttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "multipart/related"); 

var res = await HttpClient.PostAsync("https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart", multicontent); 

var stringContent = await res.Content.ReadAsStringAsync(); 
+0

400 означает, что ваш запрос неверен. Ознакомьтесь с документацией на диске Google и убедитесь, что вы правильно форматируете. –

ответ

0

Основываясь на Google Drive documentation, ошибка 400: Bad Request, что вы получили это ошибка пользователя. Эта ошибка вызвана:

  • обязательное поле или параметр не был предоставлен

  • сочетание предусмотренных полей является недействительным

  • значение поставляется в параметре недействителен

Другой причиной этой ошибки является попытка добавления дубликата родительского элемента в элемент «Диск». Он также может быть брошен при попытке добавить родителя, который создаст цикл в графике каталога.

Для получения дополнительной информации, проверьте это link, чтобы узнать различные параметры загрузки, которые вы можете использовать в API Google Диска. Вы также можете проверить это ZIP Extractor, если это может вам помочь.

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