Google apps script 使用DeeplAPI和google表单
我正在编写一个脚本,用DeeplAPI翻译包含在GoogleSheets单元格中的文本。我的代码可以工作并生成结果,但它无法识别单元格中包含的文本 这是我正在使用的代码:Google apps script 使用DeeplAPI和google表单,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在编写一个脚本,用DeeplAPI翻译包含在GoogleSheets单元格中的文本。我的代码可以工作并生成结果,但它无法识别单元格中包含的文本 这是我正在使用的代码: function deeplapi() { var response = UrlFetchApp.fetch("https://api.deepl.com/v2/translate?auth_key=xxxx-xxxx-xxxx-xxxx-xxxx&text="+ text +"&am
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);
}
虽然它生成了一个响应,但输入的文本显示为“未定义”。我不知道为什么会发生这种情况
这是我的工作表的图像和脚本的结果
结果就是这样。如您所见,文本显示为未定义:
Información{translations=[{text=undefined,detected\u source\u language=ES}]}
您需要在响应之前定义
文本,因为文本在获取函数的参数中使用:
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);
}
非常感谢!现在它工作得很好!很抱歉再次问你!您知道如何将翻译结果打印在图纸上吗?您的数据对象是什么?请您提出一个新的问题,这样您就可以清楚地看到<代码>数据代码>输入了吗@当然了!谢谢我在上面加了一个问题。谢谢你的帮助!