Google 选择器未在 React 中启动

问题描述 投票:0回答:3

react-google-drive-picker

react-google-picker

两个包中的方法都已过期。

尝试验证时的响应:

{
  error: "idpiframe_initialization_failed",
  details:"You have created a new client application that uses libraries for user authentication or authorization that will soon be deprecated. New clients must use the new libraries instead; existing clients must also migrate before these libraries are deprecated. See the Migration Guide for more information."
}

reactjs google-drive-api google-picker
3个回答
0
投票

关于您的问题所附的软件包,创建者应该更新它以以新的方式进行身份验证。并回答您关于使用新的 Google Identity Service 更新 Google Picker API 文档的评论,似乎已经有一个功能请求,您可以参考此 link 了解更多详细信息。


0
投票

我已经连续8天被同样的问题困扰了。到目前为止,使用 react-google-drive-picker 库仍然存在此错误,其原因是在 picker.ts (#40-#47) 中找到以下代码:

await gapi.client.init({
                            immediate: false,
                            ux_mode: 'redirect',
                            apiKey: API_KEY,
                            clientId: CLIENT_ID,
                            discoveryDocs: DISCOVERY_DOCS,
                            scope: SCOPES.join(' ')
                        });

由于 clientIdscope,此请求会初始化 gapi.auth2,并且只能完成 一次,并且很可能您也在其他地方执行此操作。换句话说,一个新的 React 应用程序可以很好地使用该库,但具有 使用 Google 进行社交登录的应用程序可能会因多次调用 gapi.auth2而产生副作用

有关该主题的更多信息无法多次运行gapi.client.init

一个可能的解决方法是在您的 index.html

中添加以下脚本
<script async defer src="https://apis.google.com/js/api.js"></script>

0
投票

我写的一篇博客文章介绍了如何将 Google Picker 添加到 React: https://medium.com/@mohammedshameemke/google-picker-api-integration-to-reactjs-mui-typescript-6c7461aa4598

© www.soinside.com 2019 - 2024. All rights reserved.