Не удается загрузить имя файла со специальным символом на Google REST

получаю сообщение об ошибке, когда я пытаюсь загрузить файл на Google Drive API с моим веб-приложением, и файл имеет символ с акцентом, например, «ç'.I»

m загрузка файла с двумя запросами: начальный запрос, содержащий информацию о файле и возвращающий uri, куда файл должен быть загружен, и последующий запрос с самим файлом.

Ошибка возникает в первом запросе (тот, с информацией о файле).

Возвращенная ошибка простоошибка 400, неверный запрос'и я не имею ни малейшего представления, как загрузить файл с такими символами.

Вот пример запроса, сгенерированного моим приложением, когда я пытаюсь загрузить файл изображения в формате gif.

Content-Type: application/json; charset=UTF-8
X-Upload-Content-Length: 257
Authorization: Bearer ******
X-Upload-Content-Type: image/gif
Host: www.googleapis.com
Content-Length: 126
Expect: 100-continue

Тело запроса содержит только объект json с данными файла, вот пример кода, где настроен этот начальный запрос:

private WebRequest CreateInitialUploadRequest(String parentId, String title, String mimeType)
{
    String uri = "https://www.googleapis.com/upload/drive/v2/files?uploadType=resumable&access_token=" + AUTH_KEY;

    System.Net.WebRequest request = this.WebRequestFactory.CreateWebRequest(uri);

    request.Method = "POST";
    request.ContentType = "application/json; charset=UTF-8";            
    request.Headers.Add("X-Upload-Content-Length", length.ToString());
    request.Headers.Add("Authorization", string.Format("Bearer {0}", AUTH_KEY));
    request.Headers.Add("X-Upload-Content-Type", mimeType);

    //Setup parent id folder for file
    object[] parents = {new {id = parentId}};        

    object jsonObject = new
    {
        title = title,
        mimeType = mimeType,
        description = "foo bar",
        parents = parents
    };

    String strData = new JavaScriptSerializer().Serialize(jsonObject);

    byte[] data = Encoding.UTF8.GetBytes(strData);

    request.ContentLength = data.Length;

    var stream = request.GetRequestStream();
    stream.Write(data, 0, data.Length);
    stream.Close();

    return request;
}

Когда я пытаюсь вызвать метод следующим образом:

WebRequest initialRequest = CreateInitialUploadRequest("valid-parent-folder", "invalid file ç", "image/gif");

//I get an 'bad request' http error code 400 in the following line:
initialRequest.GetResponse();

Должен ли я как-то закодировать запрос?

Ответы на вопрос(2)

Ваш ответ на вопрос