GoogleUser 对象没有 grantOfflineAccess 方法?
GoogleUser object does not have grantOfflineAccess method?
我正在使用 Google Sign-in 对我网站上的用户进行身份验证,然后作为一个单独的步骤请求离线权限。
根据文档,GoogleUser 对象应该有一个方法 "grantOfflineAccess" 提示额外的权限 而不会 提示用户确认他们的帐户。但是检查 Firebug 中的对象,我发现描述的所有其他方法都没有 grantOfflineAccess。
我有一个使用 GoogleAuth 对象的 grantOfflineAccess 方法的解决方法,但这会强制用户确认他们的帐户(我想避免这种情况,因为他们只是在登录)。我想将登录和授权离线访问提示分开,以便我可以在它们之间进行一些验证。
文档是否wrong/outdated?还有另一种方法可以获得我想要的行为吗?
我自己查了一下,确实没有这个方法。我认为这实际上是文档中的一个错误。
所以我四处寻找了一下,找到了另一种方法来实现你想要的:有一个(显然没有记录的)参数名为 authuser
。它基本上是您登录帐户的索引(第一个为 0,第二个为 1,...)。 Google 在内部将其用于 GoogleDocs 等内容。经过更多的探索,我在 Google 用户数据中找到了 authuser:
原来 wc
是 getAuthResponse()
数据,因此您可以通过以下方式访问此索引:gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().session_state.extraQueryParams.authuser
.
您现在可以使用此参数调用 GoogleAuth
的 grantOfflineAccess
,从而产生以下调用:
var auth = gapi.auth2.getAuthInstance();
var user = auth.currentUser.get();
auth.grantOfflineAccess({
authuser: user.getAuthResponse().session_state.extraQueryParams.authuser
});
这将在没有帐户选择器的情况下打开提示:-)希望我能提供帮助!
我正在使用 Google Sign-in 对我网站上的用户进行身份验证,然后作为一个单独的步骤请求离线权限。
根据文档,GoogleUser 对象应该有一个方法 "grantOfflineAccess" 提示额外的权限 而不会 提示用户确认他们的帐户。但是检查 Firebug 中的对象,我发现描述的所有其他方法都没有 grantOfflineAccess。
我有一个使用 GoogleAuth 对象的 grantOfflineAccess 方法的解决方法,但这会强制用户确认他们的帐户(我想避免这种情况,因为他们只是在登录)。我想将登录和授权离线访问提示分开,以便我可以在它们之间进行一些验证。
文档是否wrong/outdated?还有另一种方法可以获得我想要的行为吗?
我自己查了一下,确实没有这个方法。我认为这实际上是文档中的一个错误。
所以我四处寻找了一下,找到了另一种方法来实现你想要的:有一个(显然没有记录的)参数名为 authuser
。它基本上是您登录帐户的索引(第一个为 0,第二个为 1,...)。 Google 在内部将其用于 GoogleDocs 等内容。经过更多的探索,我在 Google 用户数据中找到了 authuser:
原来 wc
是 getAuthResponse()
数据,因此您可以通过以下方式访问此索引:gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().session_state.extraQueryParams.authuser
.
您现在可以使用此参数调用 GoogleAuth
的 grantOfflineAccess
,从而产生以下调用:
var auth = gapi.auth2.getAuthInstance();
var user = auth.currentUser.get();
auth.grantOfflineAccess({
authuser: user.getAuthResponse().session_state.extraQueryParams.authuser
});
这将在没有帐户选择器的情况下打开提示:-)希望我能提供帮助!