如何从 google 应用中的 API 调用获取音频响应以在扬声器中播放

How to get an audio response from an API call within google app to play in speakers

在我的 googlesheets 应用程序脚本中(我是 google sheets 的新手,但很高兴他们建立在 javascript 之上!),我希望重用我的 javascript 在我的浏览器中运行良好的函数:

function playSoundGoogleTTS(greekText) {
   const greekTtsUrl= `https://translate.google.com/translate_tts?ie=UTF-8&tl=el&client=tw-ob&q=${greekText}`;
   // use the browser's audio 
   let audioPlayerElem = document.getElementById("audioPlayer");
   audioPlayerElem.src = ttsUrl;
   audioPlayerElem.play();
}

我重写了上面的函数,因为这不是运行在浏览器中使用推荐的UrlFetchApp:

function playSoundGoogleTTS(greekText, langPronValue) {
   const greekTtsUrl= `https://translate.google.com/translate_tts?ie=UTF-8&tl=el&client=tw-ob&q=${greekText}`;
   // NOT using browser to play audio
   var googleResp = UrlFetchApp.fetch(ttsUrl);
   console.log(googleResp);
}

但是虽然 returns 成功了,但没有声音重定向到我的扬声器。据我所知,我无法像使用 chrome 开发工具那样进行调试。

我已经在文档中搜索了 UrlFetchApp,但在这里找不到任何帮助。我 googled 围绕从 UrlFetchApp 检索 blob 响应然后尝试显式播放它,但没有找到任何指针。有什么想法吗?

您必须使用 HTML Service 创建对话框、边栏或网络应用程序才能访问连接到您设备的音频播放器设备。

以上是因为 Google Apps 脚本在服务器端执行代码,它无法访问 Web APIs,包括播放音频文件所需的代码。

资源

相关

  • How to play audio?
  • Play a sound based on a criteria linked with Googlefinance formulae on Google Sheets