我可以通过编程方式创建Google帐户吗?

问题描述 投票:16回答:9

有人知道如果通过java中的google api,我可以通过编程方式创建谷歌帐户。

java google-api
9个回答
33
投票

Yes

(ISH)

The Admin SDK Directory API允许您创建与Google工具(Gmail,日历等)配合使用但不是@ gmail.com / @ googlemail.com帐户的帐户。

当新用户被添加到网络和类似场景时,公司会使用此功能自动创建在线Google工具帐户。

用户管理是documented here

这取代了2013年弃用的配置API。


9
投票

NO

唯一可行的方法是使用Web自动化框架。 Python非常适合使用mechanize等工具进行Web自动化。我从来没有用Java做过,但你应该谷歌搜索java programmatic web browserjava web automation

最重要的是,您必须使用OCR包来击败验证码。

有一个原因,谷歌或其他任何人都不允许以编程方式创建帐户。垃圾邮件发送者将有一个实地日。几天之内,任何新用户都无法使用有效帐户。简而言之,这将是一场灾难。


5
投票

正如其他人所指出的那样,您无法通过任何类型的API创建Google消费者帐户(即@gmail帐户)。它将为垃圾邮件发送者创造一个实地日。为了使垃圾邮件发送者难以使用,Google会使用CAPTCHA等策略来防止滥用。

但是,您可以通过他们的Provisioning APIs创建Google Apps帐户。 Google Apps帐户基本上是一个白色标签版本的Google Apps(Gmail,日历,文档等),位于您自己的域名下。

对于相同的垃圾邮件问题,您的Google Apps帐户必须是Premier域(您为所提供的每个帐户付费)或教育机构(我假设某种验证流程)。因此,既然你必须为每个帐户付费,那对垃圾邮件发送者来说并不是一个巨大的风险(除非他们想为每个帐户支付大的$$$ ...非常不可能)。


2
投票

这取决于您对创建帐户的定义...

可以在Google群组或域中创建帐户。通过使用以下代码,您可以为Google群组/域创建帐户。对于这种情况,您可以创建一个谷歌帐户。

但是,如果你想在@ gmail.com中创建一个谷歌帐户...我真的没有找到一种方法来编程。

这是下载google api和文档的链接。 https://developers.google.com/google-apps/provisioning/#creating_a_user_account

祝好运。

import sample.appsforyourdomain.AppsForYourDomainClient;

AppsForYourDomainClient client = new AppsForYourDomainClient(email, password, domain);
client.createUser(String username, String givenName, String familyName, String password)

2
投票

我打算写一个迄今为止尚未编写的答案,但实际上可以打破EULA(如果是这样的话,有人可以指出它的特定段落阻止了这个吗?)。

解决方案是:将Google的CAPTCHA重定向到您的用户。

假设您的软件有用户,您可以向他们展示Google的验证码,以便他们为您的系统创建帐户,而无需他们知道。

这对你有用吗?


1
投票

你可以在理论上做到这一点,但谷歌的帐户创建 - 像其他服务一样 - 使用图像识别来确认你是一个用户(又称CAPTCHA),你需要能够编写可以做到这一点的图像识别程序。

AFAIK没有来自谷歌的程序化API来创建帐户,因为这样做会打开垃圾邮件发送者/诈骗者/等......这是CAPTCA本来要防止的。

为什么要这么做?对于EULA,我不确定谷歌是否会首先允许这样做。


1
投票

我将假设您没有告诉我们您的用例,这是一种方便的方式在您的网站上使用谷歌登录(因为这是您最接近并且合法的)。我会以与SO相同的方式使用OpenID查看。


0
投票

真正的答案是肯定的。

事实是我们还不知道如何。

证据是可以从任何Android设备创建一个帐户,没有任何验证码,没有电话号码和没有电子邮件。

所以秘密就在android codebase里面。


-3
投票

谷歌的帐户创建用户界面需要CAPTCHA的事实是你的第一个暗示答案是否定的。

© www.soinside.com 2019 - 2024. All rights reserved.