Google apps script 使用DeeplAPI和google表单

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

我正在编写一个脚本,用DeeplAPI翻译包含在GoogleSheets单元格中的文本。我的代码可以工作并生成结果,但它无法识别单元格中包含的文本

这是我正在使用的代码:

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);
}

非常感谢!现在它工作得很好!很抱歉再次问你!您知道如何将翻译结果打印在图纸上吗?您的数据对象是什么?请您提出一个新的问题,这样您就可以清楚地看到<代码>数据输入了吗@当然了!谢谢我在上面加了一个问题。谢谢你的帮助!