gpt4 book ai didi

java - 如何使用 API 服务器端将我的帐户中的数据提供给 Google 登录用户?

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

我在后端服务器上使用 Angular、Google 应用程序引擎和 JAVA。用户可以使用 opendId 连接 URL 进行身份验证,而不会出现任何问题,其中代码将传回我的服务器进行身份验证。

现在我不想做的是使用我的帐户 myaccount@gmail.com 向用户(刷新密码、确认帐户邮件)和我自己(服务器错误消息)发送邮件。

我还有一些工作表需要用户写入和读取数据。神奇的是,我让它作为一个安装的离线应用程序运行(一次只有 1 个 api,我从未让两者一起运行)。

我已经尝试过服务帐户,但从上一篇文章中,有人向我解释说,为了使 gmail 工作,我需要一个我没有的 g suite 帐户,并建议我进行 oAuth2 身份验证。现在的问题是我如何在java中通过一次身份验证来实现这一点,我解释说,我不想授权应用程序访问某些范围,但它应该只被授权一次,因为我不希望用户拥有同意屏幕弹出窗口,即使他们有,他们也无法进行身份验证,因为它代表我的个人帐户。我认为我无法将已安装的应用程序用于 Google 应用程序引擎应用程序,但也许我错了。

只是想让你知道,我尝试了很多不同的方式,并花了大约 3/4 天的时间试图找到解决方案,但没有清楚地理解/找到该怎么做。

非常感谢任何帮助,如果您需要更多解释或代码,请告诉我。

最佳答案

我认为您在这里遗漏了一些关键概念。

数据

数据有两种类型:私有(private)用户数据和公共(public)数据。私有(private)用户数据由用户拥有,您必须拥有权限或授权才能访问它。公共(public)数据是任何人都拥有的数据。

Oauth2

Oauth2 是我们用来请求用户连接以便我们的应用程序访问其数据的协议(protocol)。用户可以授予您访问他们的 Gmail 帐户和他们的 Google 云端硬盘帐户的权限,从而授予您访问其帐户上的工作表的权限。

服务帐户

服务帐户是预先批准的虚拟用户。作为开发人员,我们可以创建服务帐户并授予他们直接访问我们的驱动器帐户的权限,然后服务帐户将能够访问数据而无需征得同意,因为它已经具有预先批准的访问权限。 (并非所有 google api 都支持服务帐户。gmail(gsuite 除外)和 YouTube 是两个不支持的帐户)

你正在尝试做什么

但是我不明白为什么你想使用用户的 Gmail 帐户向他们发送电子邮件。如果您想向他们发送电子邮件,我认为您会使用自己的电子邮件系统。

如果您尝试使用您的 Gmail 帐户向您的应用程序的用户发送来自您的电子邮件。那么你应该考虑直接通过SMTP服务器到您自己的帐户。当您尝试让您的应用程序获得批准时,拥有使用 gmail api 的应用程序是 Google 标记的范围之一。您将与他们一起完成大量繁文缛节,以说明为什么您需要访问用户的 Gmail 帐户。

关于java - 如何使用 API 服务器端将我的帐户中的数据提供给 Google 登录用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53952299/

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