我正在编写一个脚本来翻译包含在google单元格中的文本,并使用deepl。我的代码工作并生成一个结果,但它不识别单元格中包含的文本。
这是我正在使用的代码:
function deeplapi() {
var response = UrlFetchApp.fetch("https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxxx-xxxx-xxxx&text="+ text +"&target_lang=en&source_lang=es");
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var text = sheet.getRange(3,2).getValue();
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data);
}虽然它会生成响应,但输入的文本显示为“未定义”.I,不知道为什么会发生这种情况。
这是我的工作表的图像和脚本的结果。
结果就是这样。如您所见,文本显示为未定义:
Translations={text=undefined,detected_source_language=ES}

发布于 2021-02-21 17:00:13
您需要在text response之前定义text,因为在fetch函数中的参数中使用text:
function deeplapi() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var text = sheet.getRange(3,2).getValue(); // define text before response
var response = UrlFetchApp.fetch("https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxxx-xxxx-xxxx&text="+ text +"&target_lang=en&source_lang=es");
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data);
}发布于 2022-05-17 21:41:55
https://stackoverflow.com/questions/66304235
复制相似问题