【问题标题】:find owner's gmail address查找所有者的 gmail 地址
【发布时间】:2018-11-29 06:20:38
【问题描述】:

在解决问题之前,我的扩展程序的用例是使用 gmail 上的选定内容重定向到我的 Web 应用程序。为此,加载的 gmail 的 gmail 地址应与为使用我的 Web 应用程序而注册的电子邮件地址匹配。例如,如果我使用 gmail 地址 - abc@gmail.com 注册了 Web 应用程序,现在如果我使用相同的 gmail 地址(即 abc@gmail.com)打开 gmail,那么应该允许用户使用扩展名,但如果我打开xyz@gmail.com 的 gmail 那么我应该无法使用扩展名,因为打开的 gmail 帐户的电子邮件地址与 Web 应用程序中注册的电子邮件不匹配。

我在 popup.js 中创建了一个登录名以进行身份​​验证,它可以工作,但我不知道如何获取该打开的 gmail 的所有者的电子邮件地址,因此我可以匹配登录帐户是否具有相同的电子邮件地址.我怎么能这样做?有人可以指导我吗?

【问题讨论】:

  • 这似乎是一个基本任务的一个有点令人费解的描述:从网页中获取一些内容到扩展弹出窗口中。您需要 content scriptmessaging 或 chrome.tabs.executeScript.
  • 感谢您的评论。我知道内容脚本和消息传递,但我不知道如何找到加载扩展程序的 gmail 的所有者。
  • 这不是网页中出现的东西吗?在 devtools 中检查页面并找到它的存储位置,然后您可以将其提取到内容脚本中。
  • 你的意思是说检查元素并通过抓取找到所有者的电子邮件地址?
  • 我说的正是我的意思,希望如此。不知道在这种情况下抓取是什么意思。

标签: javascript google-chrome google-chrome-extension gmail


【解决方案1】:

我首先假设当您说“电子邮件 ID”时,您实际上是指“电子邮件地址”,而这又是这些社交媒体网络的用户 ID

是否可以使用任何这些社交媒体的 API 将我拥有的电子邮件 ID 映射到这些用户的应用程序 应用然后去获取用户的公开信息?

是和否。为了从这些社交媒体网络(我们将它们称为“提供者”)请求个人资料信息,您的应用需要根据实际用户的行为请求它。也就是说,用户将需要通过您的应用程序向这些提供商进行身份验证。为此,用户需要提供最少数量的信息(电子邮件和密码),并且您的应用程序也需要进行身份验证……通常通过 OAuth 或本机 API 指定已发布的“应用程序 ID”(或客户端 ID)和应用程序密钥。在您成功向他们注册应用后,您应该从这些提供商那里收到这些信息。

是否有人知道任何可以提供帮助的第 3 方产品/API 提供这种身份证明?

我不太确定,这超出了 Stackoverflow 的范围......但是,您真的需要在您的项目中添加另一个抽象层吗?另一个依赖?考虑直接与这些提供商互动,您将获得更多好处

因此,基本上,您的应用必须让用户提供他/她的凭据才能请求此信息。在 OAuth 的情况下,您的应用程序将永远不会看到这些凭据,因为身份验证过程发生在您的应用程序之外,您的应用程序将收到的只是一个访问令牌,用于请求访问令牌范围内可用的信息。我的意思是,您必须请求特定的权限。这些提供商的开发者网站上有很多可用信息,我相信您会毫无问题地绕过它,但如果有什么不够清楚,请随时询问。

【讨论】:

    猜你喜欢
    • 2015-12-06
    • 2015-04-11
    • 1970-01-01
    • 2020-04-04
    • 2023-04-11
    • 1970-01-01
    • 2019-03-31
    • 2021-06-22
    • 1970-01-01
    相关资源
    最近更新 更多