Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Google登录获取用户名和电子邮件_Javascript_Google App Engine_Google Login - Fatal编程技术网

Javascript 从Google登录获取用户名和电子邮件

Javascript 从Google登录获取用户名和电子邮件,javascript,google-app-engine,google-login,Javascript,Google App Engine,Google Login,我真的很困惑。这是一个商业产品和我的应用程序权限列表的名称和电子邮件作为谷歌登录的一部分。我的用户非常想给我他们的名字和电子邮件,我只是添加了谷歌登录,让他们更容易做到每个用户的请求 我的代码就在这里: 我试图让用户登录到我的网站与谷歌,然后读取他们的名字和电子邮件存储在我的帐户数据库 当前登录正常(我可以登录并将我的登录令牌、客户端id等写入控制台),但当我尝试请求电子邮件/名称时,我收到一个错误: 超出未经验证使用的每日限制。继续使用需要注册 我在这里创建了一个应用程序,让我的客户id设置了

我真的很困惑。这是一个商业产品和我的应用程序权限列表的名称和电子邮件作为谷歌登录的一部分。我的用户非常想给我他们的名字和电子邮件,我只是添加了谷歌登录,让他们更容易做到每个用户的请求

我的代码就在这里:

我试图让用户登录到我的网站与谷歌,然后读取他们的名字和电子邮件存储在我的帐户数据库

当前登录正常(我可以登录并将我的登录令牌、客户端id等写入控制台),但当我尝试请求电子邮件/名称时,我收到一个错误:

超出未经验证使用的每日限制。继续使用需要注册

我在这里创建了一个应用程序,让我的客户id设置了允许的来源,等等,我设置了一个徽标,这样我可以在单击“登录”按钮时看到,因此我相信单击“登录”按钮时它可以正确识别我的帐户

下面是我请求用户配置文件数据的代码

function _onGoogleLogin(){
  gapi.client.load('plus', 'v1', function(){
    gapi.client.plus.people.get({userId: 'me'}).execute(handleGoogleUserDataResponse);        
  });                                                                                         
  function handleGoogleUserDataResponse(resp) {                                               
    console.log("google user data", resp);                                                    
  }
}
我是否需要一个谷歌开发者平台上的付费帐户,才能每天访问此信息一次或两次以上?这似乎很疯狂。我已经在使用Facebook登录,使用FB的过程非常简单和免费

我想我做错了什么蠢事。我是否需要将我的客户id单独提供给gapi或其他什么?目前,我只是根据他们的文档为登录按钮准备了这个

<meta name="google-signin-clientid" content="CLIENT_ID" />


任何帮助都将不胜感激,谢谢

您没有遵循文档中的所有步骤

当您进行API调用时,需要设置正确的客户端ID,以便Google能够跟踪哪个应用程序正在进行哪个调用。它用于身份验证和使用情况跟踪。您可以获得免费的测试API调用,但如果您想真正使用API,则必须按照文档进行设置

只要使用最少数量的API调用,就不需要启用计费,每天都有一个免费配额

===---===


如果您有正确的客户端ID设置,但API调用仍使用未经验证的凭据,请尝试使用匿名浏览器。当涉及到多个配置文件时,Chrome有时会做一些奇怪的事情。

问题是用户会立即注销。这是由于谷歌登录系统中的一个已知错误造成的,更多详细信息如下:


这正是我遇到的行为。

你也想获得密码吗???什么?我的应用程序是有范围的,当他们登录谷歌时,会清楚地询问他们的电子邮件和姓名。这是一个商业产品,我的用户很乐意分享信息。。。当然我不想要他们的谷歌密码,我不想要他们不同意给我的任何信息!但是,如果客户想付费使用我的服务,那么我需要他们的名字,他们想给我,我希望这对他们来说很容易!你做了所有这些步骤吗
你必须创建一个Google开发者控制台项目,创建一个OAuth 2.0客户端ID,并注册你的JavaScript源代码和重定向URI
正如我在OP中所说的,我确实创建了一个应用程序并完成了所有这些步骤,上面代码中的客户端ID实际上使用了我自己的真实ID,我只是不想在帖子中这样做。看来这个问题是由于登录系统中的一个大问题,我想我知道你的意思。您遇到的错误正是“进行API调用的配置文件未经过身份验证”。因此,要么它没有正确设置,要么它没有在您的Chrome浏览器中使用正确的配置文件。如果你的Chrome中有多个配置文件,那么这个错误是有意义的。如果是Chrome配置文件问题,那么要么清除cookie,要么使用匿名浏览器。Chrome处理配置文件的方式有时会混淆APIsI see谢谢。显然,我不能期望我的所有客户都这样做,所以这可能有点问题,我将探索解决办法。