我正在使用Bigquery Java API。对于使用Bigquery服务授权,我使用的是Google OAuth 2.0。我的问题是: - 如何获取在同意屏幕上授予访问权限的用户的电子邮件ID?
我无法找到与之相关的任何内容。是否可以获取用户的电子邮件ID。 有人可以帮忙吗? 在此先感谢:)
答案 0 :(得分:2)
跑步
SELECT CURRENT_USER()
并返回当前用户的电子邮件
您可以在手册中找到此功能和更多功能:https://cloud.google.com/bigquery/query-reference
答案 1 :(得分:0)
除了Pentium10的建议外,您还可以获得运行特定作业/查询的用户的用户电子邮件;它位于作业的user_email属性中。您可以通过执行以下操作来看到这一点:
$ bq show --format=prettyjson -j project_id:job_id | grep user_email
其中project_id:job_id是您正在寻找的工作的项目和工作ID。
如果您是项目管理员或者您是首先运行该作业的人,那么这仅用于获取用户的电子邮件。
答案 2 :(得分:0)
您应该能够将用户的电子邮件地址作为OAuth流程的一部分。看起来它是您在此过程中收到的JWT的一部分:
https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo
如果您正在使用特定于语言的客户端库,则该客户端库中可能会支持解码JWT。