我的应用程序需要使用Google plus注册用户,然后显示用户的配置文件数据。当用户在Google plus上编辑他们的个人资料并再次访问我的应用程序时,应用程序需要显示更新的数据。因此,应用程序需要存储access_token和refresh_token以供将来使用。我想用google的js api管理所有这些,而不需要任何服务器端的google-api-client。Google oauth使用js api获取refresh_token
问题是我无法使用js api检索refresh_token。我已经安装了一个jsfiddle here。在谷歌加上相关的代码如下:
$('#signInButton').click(function() {
attributes = {
'accesstype': 'offline',
'clientid': "260932337012-1gdbsh3p7oknkjmeaa7m9q7e6nhhgd9c.apps.googleusercontent.com",
'scope': 'email profile',
'cookiepolicy': 'single_host_origin',
'approvalprompt': 'force',
'callback': signInCallback
};
gapi.auth.signIn(attributes);
});
function signInCallback(authResult) {
alert(authResult.request_token);
}
设置接入类型离线的不返回refresh_token
inspite。我在这里做错了什么?
在此先感谢。
这是没有答案(对不起),但我在类似的小船试图找出一个令人不安的问题与谷歌API休息服务,并得到自己的帮助很少。 – kstubs
@kstubs我找不到纯js的方式。谷歌的文档建议称为一次性代码流。它涉及使用js api获取access_token和代码,然后使用服务器端谷歌库来交换代码以获取refresh_token。如果你使用的是ruby,那么下面的[code](https://github.com/notalex/g_plus)应该是。或者,您也可以逐字阅读Google的文档[此处](https://developers.google.com/+/web/signin/server-side-flow)。 – Alex
谢谢亚历克斯。这是一种可能性(有点)不完全是我今天想要完成的。祝你好运! – kstubs