Как использовать HubUpload Post API?

Я смотрю на API, открытый Microsoft Translator Hub ( Microsoft Translator Hub Api Swagger Link), и я не могу понять, как использовать часть загружаемого файла. Другую операцию мне удалось сделать, но я не могу понять, как использовать операцию HubUpload.

Для HubUpload/Get

public void GetStatusHubUpload(string accessToken)
    {
        var client = new RestClient("https://hub.microsofttranslator.com/api/HubUpload/Get");
        var request = new RestRequest(Method.GET);
        request.AddParameter("trackingId", /*Integer*/);// Not sure where to get tracking id - after upload?
        request.AddHeader("Authorization", accessToken);
        request.AddHeader("WorkspaceIdentifierHeader", workspaceid);
        IRestResponse response = client.Execute(request);
        HubApiUploadResult hubApiUploadResult = JsonConvert.DeserializeObject<HubApiUploadResult>(response.Content);
    }

Для HubUpload/Post - Как включить файл Excel для загрузки в словарь? Как называется параметр? Разве нам не нужно указывать и название проекта? Как он узнает, куда загружать, не задавая этот параметр (на странице свагера указан только один параметр - overwrite, Authorization и WorkspaceIdentifierHeader)?

Я пробовал это, но получаю внутреннюю ошибку сервера

public void PostFile(string accessToken)
    {
        var client = new RestClient("https://hub.microsofttranslator.com/api/HubUpload/Post");
        var request = new RestRequest(Method.POST);
        request.AddParameter("projectname", "DemoTranslatorHub_En_Ar");
        request.AddParameter("overwrite", "false");
        request.AddHeader("Authorization", accessToken);
        request.AddHeader("WorkspaceIdentifierHeader", workspaceId);
        request.AddFile("content", @"excel file path");
        IRestResponse response = client.Execute(request);
        HubApiUploadResult hubApiUploadResult = JsonConvert.DeserializeObject<HubApiUploadResult>(response.Content);

    }

Tqvm в продвинутом.

1 ответ

Удалось это решить. Использование HttpClient и MultipartFormDataContent для обработки загрузки файла. Нужно больше узнать о библиотеке RestSharp и Web Api. Основываясь на извлеченном языке загруженного файла Excel, Microsoft Translator Hub разместит документ в соответствующем проекте. Поэтому нет необходимости размещать его в своем собственном проекте (укажите параметр). Идентификатор отслеживания будет получен после загрузки файла, который можно использовать в методе Get.

Другие вопросы по тегам