google-apis-explorer - 使用具有自我用户身份验证的 Google APi 进行项目
问题描述
我能够为特定帐户创建一个项目以将应用程序连接到谷歌数据(遵循Google People API)
但现在我希望每个客户自己登录到他的帐户并管理他的数据。
我无法在 Google API 控制台中为每个客户创建项目,我的应用程序需要读取每个将使用我的应用程序的用户的身份验证,并“自动”创建身份验证来读取登录用户的谷歌联系人数据。
有可能吗?
你能给我推荐一些关于如何做的文章吗?
解决方案
听起来您正在尝试完全按照 OAuth 2.0(请参阅您链接到的页面)为您提供的功能:验证用户。这与使用 API 密钥不同,后者仅授权您的项目,与用户的凭据无关。
OAuth 2.0 结合了客户端 ID(与您的 Google Developers Console 项目相关联)和用户登录名(特定于访问您的应用/网站的用户),从而为您提供授权令牌。此令牌将让您的应用在调用该 API 时代表该用户执行操作。只需确保请求必要的范围作为向用户提供的 OAuth 2.0 授权提示的一部分。
如何给出此提示因环境而异,但该链接上列出了许多常用选项。
请注意,您始终使用相同的客户端 ID,因此您只需要一个 Google Developers Console 项目,但是当用户授权您的应用时,您会获得一个特定于该用户登录的唯一令牌,因此您可以充当任何授予您应用的用户访问他们的帐户。
推荐阅读
- python-3.x - 将用户输入的日期从 'mm/dd/yyyy' 转换为 'Mm dd, yyyy'
- python - 如何在 discord.py 中将异步函数作为线程运行?
- php - 使用 Nginx 动态重定向,Laravel
- python - 非线性最小二乘拟合不会最小化
- excel - 检查一列中的值是否不存在另一个工作表的列并将单元格值附加到最后一个空白行
- c# - .NET Core 5 Blazor 服务器 - 无法要求用户进行身份验证 - 重定向过多
- ios - 如何在 SwiftUI 中使用 ObservableObject 向其他类发送值
- javascript - css 文件中的警报属性
- azure - Azure MS Team 与 Azure DevOps 任务板的集成仅显示问题,我的工作项在哪里?
- terminal - 黑客练习/如何将新的终端命令传递给现有的终端命令?