gapi.client.load没有调用回调:console.log中指定了无效或非法字符串错误

时间:2013-07-26 16:47:10

标签: javascript google-app-engine cordova google-api google-api-client

我的代码 - 与昨天相同 - 刚刚停止工作。奇怪,我知道。但我一遍又一遍地看着它。我的代码中没有任何内容发生变化。

我正在使用Javascript API客户端库加载'plus'API。截至昨晚(2013年7月25日),此代码工作正常。现在,我得到了gapi.client并调用了gapi.client.load,回调永远不会被调用。

在我的index.html中,我有以下内容:

<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=onLoadCallback"></script>

我的onLoadCallback()函数如下所示:

function onLoadCallback() {
    try{
        console.log( "gapi.client: " + gapi.client  );
        gapi.client.load('plus', 'v1', function() {
                     console.log('plus loaded!');
                     });
    }
    catch(err) {
        console.log( "onLoadCallback error: " + err.message );
    }
}

这个回调永远不会被调用(我已经检查过语法错误,所以如果上面有任何错误,那么我在复制/粘贴到StackOverflow期间)。

当我在Chrome中加载此代码并查看控制台时:我看到以下内容:

gapi.client: [object Object] 

接下来是:

Uncaught SyntaxError: An invalid or illegal string was specified. 
rs=AItRSTMqSYNvDyDFNs8wjPrZc5pR-M_27Q:83

并且,当点击对rs=....:83的引用时,它似乎位于某些代码的中间,而不是我的代码。看起来与Google API Javascript库有关。

我还应该注意,如果我注释掉gapi.client.load 行,那么这个错误就不会出现在Javascript控制台上。所以,它似乎是对gapi.client.load的调用的结果。

是否有其他人遇到过导致此错误的GAPI Javascript客户端库的任何异常行为或更改?

感谢您的帮助或见解。

[注意:标记为Google-App-Engine,因为这也恰好位于访问App Engine的应用中,并要求用户的ID访问它。并且还没有适用于Google-API-Client-Library的StackOverflow标记。]

[编辑:我应该注意原始应用程序在PhoneGap中。在下面的Javascript控制台中查看的评论来自我尝试在浏览器中调试应用程序,因为从PhoneGap应用程序登录的控制台不太令人满意。]

1 个答案:

答案 0 :(得分:1)

我们这些受此影响的PhoneGap开发者正在等待确认已在Google API Javascript客户端级别确认并修复此问题。但是,一夜之间,gapi.client.load又开始工作了。

https://code.google.com/p/google-api-javascript-client/issues/detail?id=95

输入并跟踪了该问题