Google api 使用离线访问oAuth令牌运行Google Picker
我在做什么: 我正在我的页面上集成。这将允许用户从谷歌硬盘中选择要在web应用程序中使用的文件。在应用程序中,组中的人共享一个通用的google驱动器(即,他们都可以从帐户中选择文件)example@email.com)这是由集团管理员通过他的电子邮件地址创建的。当管理员注册帐户时,我们进行OAuth,并在google上通过我们的应用程序(启用离线访问)获得Google api 使用离线访问oAuth令牌运行Google Picker,google-api,google-oauth,google-picker,Google Api,Google Oauth,Google Picker,我在做什么: 我正在我的页面上集成。这将允许用户从谷歌硬盘中选择要在web应用程序中使用的文件。在应用程序中,组中的人共享一个通用的google驱动器(即,他们都可以从帐户中选择文件)example@email.com)这是由集团管理员通过他的电子邮件地址创建的。当管理员注册帐户时,我们进行OAuth,并在google上通过我们的应用程序(启用离线访问)获得access\u token。我计划在其他组用户尝试使用picker选择文件时,在他们的帐户上使用管理员的访问\u令牌和刷新令牌 我所做的:
access\u token
。我计划在其他组用户尝试使用picker选择文件时,在他们的帐户上使用管理员的访问\u令牌
和刷新令牌
我所做的:
我已经使用中提供的基本代码成功地将Google Picker集成到我的应用程序中。然后,为了实现我想要的,我从示例代码中删除了以下代码:
gapi.load('auth', {'callback': onAuthApiLoad});
及
及
而不是.setOAuthToken(oauthToken)
我直接将刷新后的access\u令牌作为字符串传递(我通过ajax调用从服务器获取)
.setOAuthToken(“
问题:尝试添加。侦听器提供了一种自动响应当前用户登录会话中更改的方法。例如,在启动方法初始化Google登录auth2对象后,您可以设置侦听器以响应auth2.isSignedIn状态更改或auth2.currentUser中的更改等事件
每次使用令牌之前可能会出现这种情况,但这可能会为我们每次加载选择器时的罕见用例增加大量额外开销,并且在重新身份验证问题后使用令牌调用API端点时,没有关于令牌无效的密钥。您可以通过向端点发出web服务请求来验证令牌指向Google授权服务器,并对该web服务请求的结果执行字符串匹配。你找到了解决方案吗?@ot954我找到了,但那是3年前的事了。我将深入我的存储库,看看是否还有该代码。我唯一能找到的方法是使用应用程序脚本。但我仍然不太确定如何找到它从google应用程序脚本提供html。在我的情况下,我已将用户的驱动器与我的应用程序集成。一旦集成完成,google picker将永远不会显示此登录。@ot954您有何收获?遇到同样的问题吗
function onAuthApiLoad() {
window.gapi.auth.authorize(
{
'client_id': clientId,
'scope': scope,
'immediate': false
},
handleAuthResult);
}
function handleAuthResult(authResult) {
if (authResult && !authResult.error) {
oauthToken = authResult.access_token;
createPicker();
}
}
.setOAuthToken("<access_token>")