我曾经通过向 http://www.google.com/a/ {domain} / " http://admin.google.com {domain} / "进行CURL请求来评估某个域是否有Google Apps。并检查此字符串" [在此处为控制面板登录]"如果有,它有Google Apps,如果它没有,他们没有Google Apps
但最近Google改用了通用的 Google Apps Toolkit 登录页面,并没有对域名进行区分。现在,这显然打破了我以前查看它是否有Google Apps的方式。
有没有人有其他方法可以做到这一点?
我尝试了一些来自Google API的网址,但他们需要Auth ...
注意:我不想通过MX / TXT记录进行检查,我需要检查他们是否有Google Apps,而不是他们是否使用过Google Apps。这样做的原因是我开发了一个{{3}}进行了一系列检查并给出了域名的状态,我用来测试域名是否具有100%准确性的旧域名,其他所有在线Google我使用的应用程序测试程序由于检查MX记录而相当不准确。我不想陷入这个陷阱。这对曾经拥有Google Apps但又转移到其他提供商并希望转回经销商的域名非常有帮助(这种情况比您想象的更频繁,我为经销商工作)
答案 0 :(得分:10)
我已经成功地弄明白了!
要确定某个域是否在其上购买了Google Apps,请执行以下操作:
执行CURL请求:“https://www.google.com/a/ {domain} / ServiceLogin”
搜索以下字符串:“抱歉,您已到达未使用的域的登录页面”,如果它包含该字符串,则不拥有Google Apps,如果它没有 包含Google Apps的字符串。
示例PHP函数(我在此示例中使用的是file_get_contents而不是CURL,因为它更短,请注意您需要在php.ini中启用基于URL的位置)
function lookupGoogleAccount($domain) {
$url = "https://www.google.com/a/$domain/ServiceLogin";
$extpage = file_get_contents($url);
$not_gapps = strpos($extpage,"Sorry, you've reached a login page for a domain that isn't using");
return !$not_gapps;
}
示例:https://gapps.qk.com.au/?domain=never.io
即使域名是转销商并使用自定义SSO解决方案,也可以继续使用此方法。
答案 1 :(得分:1)
进一步研究这一点,我发现了一种新的方法来检查域是否属于G Suite控制台。解决方案是使用customers.get的G Suite Reseller API方法。
如文档所述,要使用此API,您需要成为G Suite reseller并有权访问reseller console。
几乎可以将其视为正式的Google解决方案,就像在某个域上使用它(如果它是G Suite控制台的一部分)时一样,作为答案,您将获得所检查域所在的控制台的主域部分(请参见下面的屏幕截图)。
您可以使用this tool批量检查域。免责声明:我是它的作者。
答案 2 :(得分:-1)
answer Mattisdada并非100%可靠。
可能存在已激活和验证给定域的情况,因此可以按照建议通过“https://www.google.com/a/ {domain} / ServiceLogin”访问它,但这并不意味着它实际上是使用谷歌应用程序。
我能找到的最佳解决方案是检查寻找google ones的MX记录。由于这是一个php问题,最好的选择是使用getmxrr函数。