【发布时间】:2018-11-27 09:40:09
【问题描述】:
我正在创建一个使用 Google 翻译服务的简单网页。
该页面有一个字段,用于接收来自用户的输入,以及一个用于触发对翻译 API 的调用的按钮。它将结果翻译返回给用户。
我已经使用 Ajax 请求成功完成了上述流程,但是访问令牌 被硬编码到我的方法中,我想将其更改为在令牌过期时发送的调用(目前我必须使用 Google CLI 请求新令牌并在我的代码中替换它)。
我对 Oauth2.0 有非常基本的了解,并且我已经阅读了 Google 文档,但找不到可以告诉我调用端点以从客户端获取访问令牌的部分内容。
请有人指出我正确的方向吗?
这是我的代码:
HTML:
<form id="translate_form">
<input id="input" />
<button id="translate_button">Translate</button>
</form>
Javascript
$("#translate_form").submit(function () {
var text = $("#input").val()
sendTranslationRequest(text);
return false;
})
function sendTranslationRequest(inputText) {
var requestBody = {
q: inputText,
source: "en",
target: "fr",
format: 'text'
}
translationAjaxRequest(requestBody);
}
function translationAjaxRequest(requestBody) {
var access_token = [access_token]
$.ajax({
url: "https://translation.googleapis.com/language/translate/v2",
method: "POST",
contentType: "application/json",
beforeSend: function (request) {
request.setRequestHeader("Authorization", "Bearer " + access_token)
},
data: JSON.stringify(requestBody),
success: function (response) {
var translatedText = response.data.translations[0].translatedText
alert(translatedText)
},
error: function () {
console.log("An error occurred on the request:", response)
}
});
}
【问题讨论】:
标签: javascript google-translate google-translation-api