コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        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));
        }