我正在创建一个使用 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)
}
});
}