gpt4 book ai didi

google-api - 使用离线访问 oAuth token 运行 Google Picker

转载 作者:行者123 更新时间:2023-12-04 17:42:12 26 4
gpt4 key购买 nike

我在做什么:

我正在整合 Google Picker在我的页面上。这将允许用户从他们的 Google Drive 中选择要在网络应用程序中使用的文件。在应用程序中,群组中的人共享一个通用的谷歌驱动器(即他们都可以从帐户 example@email.com 中选择文件),这是由群组管理员通过他的电子邮件地址创建的。当管理员注册帐户时,我们执行 OAuth 并获得 access_tokenrefresh_token针对我们在谷歌上的应用程序(启用离线访问)。我打算使用 access_tokenrefresh-token管理员的,当他们尝试使用选择器选择文件时,在其他组用户的帐户上。

我做了什么:

我已使用 docs 中提供的基本代码在我的应用程序中成功集成了 Google Picker .然后为了实现我想要的,我从示例代码中删除了以下代码:

gapi.load('auth', {'callback': onAuthApiLoad});


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(oauthToken)我直接将刷新的 access_token 作为字符串传递(我通过 ajax 调用从我的服务器获取)。
.setOAuthToken("<access_token>")

但是每次我打电话 picker.setVisible(true);我在 iframe 中看到一个屏幕,上面写着 为了从您的在线存储中选择一个项目,请登录。

enter image description here

问题:

最佳答案

尝试添加 sign in listener .监听器提供了一种自动响应当前用户登录 session 中的更改的方法。例如,在您的启动方法初始化 Google Sign-In auth2 对象后,您可以设置监听器来响应诸如 auth2.isSignedIn 状态更改或 auth2.currentUser 中的更改等事件。

Validating the token在每次使用 token 之前可能是一种可能性,但是每次我们加载选择器以及在重新身份验证问题后使用 token 调用 API 端点时,这可能会为罕见用例增加大量额外开销关于 token 无效的关键。您可以通过向 Google 授权服务器上的端点发出 Web 服务请求并对该 Web 服务请求的结果执行字符串匹配来验证 token 。

关于google-api - 使用离线访问 oAuth token 运行 Google Picker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41142112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com