IEnumerator GoogleTranslate(string sourceText, string accessToken, Action <string> callbackText) { // Create json object TranslateRequestBody translate = new TranslateRequestBody() { contents = new List <string>() { sourceText }, mimeType = "text/plain", sourceLanguageCode = SourceLanguageCode, targetLanguageCode = TargetLanguageCode }; string requestBody = JsonUtility.ToJson(translate); Debug.Log("[Translate] request body json: " + requestBody); string requestUri = "https://translation.googleapis.com/v3/projects/stt-hololens:translateText"; //Debug.Log("[Translate] request uri: " + requestUri); using (UnityWebRequest uwr = UnityWebRequest.Post(requestUri, "")) { uwr.SetRequestHeader("Authorization", "Bearer " + accessToken); uwr.uploadHandler = new UploadHandlerRaw(Encoding.UTF8.GetBytes(requestBody)); yield return(uwr.SendWebRequest()); if (uwr.isNetworkError) { Debug.LogError(uwr.error); } else { string responseBody = uwr.downloadHandler.text; Debug.Log("[Translate] response body json: " + responseBody); TranslateResponseBody ac = JsonUtility.FromJson <TranslateResponseBody>(responseBody); callbackText?.Invoke(ac.translations[0].translatedText); } } }
public HttpResponseMessage Post([FromBody] TranslateRequestBody jsonbody) { TranslateResponseBody model = new TranslateResponseBody(); try { String title = TranslateUtils.Translate(jsonbody.translateRequest.text); model.message = "Translate successfull !!!"; model.code = HttpStatusCodeDefine.SUCCESS.GetHashCode(); model.data = new TranslateResponse() { title = title }; } catch (Exception ex) { #region error system model.code = HttpStatusCodeDefine.SERVER_ERROR.GetHashCode(); model.message = ex.Message; model.data = null; #endregion } return(Request.CreateResponse(HttpStatusCode.OK, model)); }