我有这个URL:http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello+world
当我把它放到浏览器的地址栏并点击回车时,我得到了带有"Hello world"的综合语音的mp3文件.一切都是正确的.
但现在我在HTML中有一个重定向到此URL的链接,如下所示:
<a href="http://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello+world">Link</a>
Run Code Online (Sandbox Code Playgroud)
当我单击此链接时,我没有收到文件但是出现错误(简单的QuickTime徽标).任何人都可以解释我为什么会这样,我怎样才能解决我的问题?
我在 SO 上发布了这个问题以使 Google Translate Text-To-Speech 工作。
Google Translate API text-to-speech:禁止http请求
我被告知我需要一个密钥并启用计费。从那以后我就这样做了。我知道启用了计费是因为,使用他们指定的端点进行纯单词翻译(不是叙述语音)(GET https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&q=Hello%20world),我能够在 DHC 和我的应用程序中获得响应$.get:

在我最初的问题(上面)中,有人告诉我如果我获得 API 密钥,我将不再被阻止获得文本到语音。我在 DHC 和 Postman 中测试了 Text-to-speech 的请求:
https://translate.google.com/translate_tts?key= myKeyHere &ie=utf-8&tl=zh-CN&q=??
并得到了 200:

优秀。但是,在我的申请中,我提出了一个get请求:
$.get('https://translate.google.com/translate_tts?key='+myKey+'&ie=utf-8&tl=en&q=Hello+world',
function (returned_data) {
Run Code Online (Sandbox Code Playgroud)
我被屏蔽了:
没有“Access-Control-Allow-Origin”标头
为什么是这样?