使用oauth for Google的授权代码获取访问令牌时出错

使用oauth for Google的授权代码获取访问令牌时出错,oauth,oauth-2.0,Oauth,Oauth 2.0,我试图构建一个应用程序,从用户的谷歌日历中获取事件。一旦我获得了授权码,并要求用户在另一个页面中输入该授权码,我就会尝试将其交换为访问令牌。但我在发送用于检索令牌的post请求中出错 client_id=encodeURIComponent("id.apps.googleusercontent.com"); client_secret=encodeURIComponent("secret.apps.googleusercontent.com"); $.post("http://accounts.

我试图构建一个应用程序,从用户的谷歌日历中获取事件。一旦我获得了授权码,并要求用户在另一个页面中输入该授权码,我就会尝试将其交换为访问令牌。但我在发送用于检索令牌的post请求中出错

client_id=encodeURIComponent("id.apps.googleusercontent.com");
client_secret=encodeURIComponent("secret.apps.googleusercontent.com");
$.post("http://accounts.google.com/o/oauth2/token/code="+auth_code
                +"&client_id="+client_id+"&client_secret="+client_secret
                +"&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code",
        function(response){
            console.log('Response = '+ response);
        }
);

有人能告诉我post请求中的错误吗?

您需要查看返回的响应以了解错误原因。这似乎是jQuery代码,因此您可以在Chrome开发者工具(视图、开发者、开发者工具、网络)的网络选项卡下查看HTTP响应

也就是说,除非您在服务器端环境中使用jQuery,否则您使用的OAuth流是错误的。您应该使用隐式/javascript流,在这里您不需要获取或交换授权码——您可以立即获得URL哈希片段中返回的访问令牌:


请用语言/环境/目标进一步澄清您的问题。

我的应用程序应该在智能电视中运行。我想从谷歌日历中获取用户的事件,并为它们创建一个警报。