有谁知道我是否可以通过java中的google api以编程方式创建google帐户。
11 回答
不
唯一可能的方法是使用 Web 自动化框架。Python 非常适合使用mechanize等工具实现 Web 自动化。我从来没有在 Java 中做过,但你应该在谷歌上搜索java programmatic web browser
or java web automation
。
最重要的是,您必须合并一个 OCR 包来击败验证码。
谷歌或其他任何人都允许以编程方式创建帐户是有原因的。垃圾邮件发送者将有一个现场日。几天之内,将没有任何有效帐户可供任何新用户使用。简而言之,这将是一场灾难。
正如其他人所指出的,您不能通过任何类型的 API 创建 Google 消费者帐户(即@gmail 帐户)。它将为垃圾邮件发送者创造一个现场日。为了让垃圾邮件发送者更难,谷歌使用诸如验证码之类的策略来防止滥用。
但是,您可以通过其Provisioning API创建 Google Apps 帐户。Google Apps 帐户基本上是您自己的域名下的 Google Apps(Gmail、日历、Docs 等)的白标版本。
对于同样的垃圾邮件问题,您的 Google Apps 帐户必须是 Premier 域(您为您提供的每个帐户付费)或教育机构(我假设为此进行了某种验证过程)。因此,由于您必须为每个帐户付费,因此对于垃圾邮件发送者来说风险不大(除非他们想为每个帐户支付大笔 $$$.. 不太可能)。
也许?
我要写一个到目前为止还没有写过的答案,但它实际上可能会破坏 EULA(如果是这样的话,有人可以指出它的特定段落来防止这种情况发生吗?)。
解决方案是:将 Google 的 CAPTCHA 重定向到您的用户。
假设您的软件有一个用户,您可以向他们展示 Google 的验证码,以便他们在他们不知道的情况下为您的系统创建帐户。
这对你有用吗?
这取决于您对创建帐户的定义...
可以在 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)
真正的答案是肯定的。
事实是我们(还)不知道如何。
证明是可以从任何没有任何验证码、没有电话号码和没有电子邮件的安卓设备上创建一个帐户。
所以秘密就在android代码库里面。
我将假设您没有告诉我们您的用例,这实际上是为了方便地在您的网站上使用 google 登录(因为这是您最接近且合法的)。我会以与 SO 相同的方式使用OpenID进行检查。
理论上你可以做到这一点,但谷歌的帐户创建 - 与其他服务一样 - 使用图像识别来确认你是用户(又名 CAPTCHA),并且你需要能够编写可以做到这一点的图像识别程序。
AFAIK 没有来自 Google 的程序化 API 来创建帐户,因为这样做会使它们向垃圾邮件发送者/诈骗者/等等打开它们...... CAPTCA 旨在防止。
为什么要这么做?我不确定 Google 首先是否允许 EULA 这样做。
是的...
其实你可以这样做。您可以编写 CUrl 脚本,并可以使用不同的 API 来破解验证码。破解验证码是这里的关键。
实际上,您可以通过 google 帐户创建您自己的域(那些使用 google 的企业)。你可以在这里查看
Google 的帐户创建 UI 需要验证码这一事实是您第一个暗示答案是否定的。