Как использовать 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.