【问题标题】:Google javascript API returns 404'sGoogle javascript API 返回 404
【发布时间】:2013-10-07 10:54:49
【问题描述】:

我有相同的代码(或多或少)在 Java 中运行良好,但是当我用 javascript 编写它时,我最终得到 404。我不知道我做错了什么,这让我发疯!

    gapi.client.load('translate', 'v2', function () {
        gapi.client.language.languages.list().execute(function (response) {
            response.data.forEach(function(language){
                console.log(JSON.stringify(language));
            });
        });

“语言”:

{"code":404,"message":"Not Found","data":[{"domain":"global","reason":"notFound","message":"Not Found"}],"error":{"code":404,"message":"Not Found","data":[{"domain":"global","reason":"notFound","message":"Not Found"}]}}

我可以在控制台中看到以下 POST 数据到https://content.googleapis.com/rpc?key=MY_API_KEY

[{"jsonrpc":"2.0","id":"gapiRpc","method":"language.languages.list","apiVersion":"v1"}]

应该是 v1 吗?

相比之下,REST URL 是 https://www.googleapis.com/language/translate/v2/languages?key=MY_API_KEY(它是一个 GET),它工作正常。

【问题讨论】:

  • 您可能想尝试使用 Fiddler 之类的工具,看看正在请求哪些返回 404 的 url,以及这些 url 在您的上下文中是否有意义
  • URL 与 REST API 不匹配,但它们看起来很有意义。但是,如果我必须查看 URL,那么使用 API 有什么意义呢?
  • 你能在你的问题中发布两个不同的网址吗?我同意你的观点,但本着诊断的精神:你是否尝试通过不同的方式(curl'ing 或其他方式)访问这些不匹配的 URL,而不仅仅是客户端 JavaScript API 来检查这一点?客户端 API url 集是否有可能包含您的防火墙会阻止的内容?
  • @StephenJames 谢谢!我在 js api 正在使用的 URL 上使用了 curl,我可以看到,如果我将 POST 数据更改为 v2 而不是 v1,它可以工作!谷歌有一个错误!

标签: google-api google-translate google-api-js-client


【解决方案1】:

你说得对,这是 gapi.client.load 中的一个错误。此错误已修复,您不应再遇到 404。

【讨论】:

    猜你喜欢
    • 2017-09-07
    • 1970-01-01
    • 2021-11-02
    • 2017-10-21
    • 2016-02-29
    • 2015-10-19
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    相关资源
    最近更新 更多