4

以前は、" http://www.google.com/a/ {domain}/ "に対して CURL リクエストを実行し、この文字列 "[サインインして、コントロール パネル]"、ある場合は Google Apps があり、ない場合は Google Apps がありませんでした。

しかし最近、Google はユニバーサルhttp://admin.google.comログイン ページに切り替え、ドメイン間の区別がなくなりました。今、これは明らかに、Google Apps があるかどうかを確認するために使用していた方法を破っています。

これを行うための他の回避策はありますか?

Google API の URL をいくつか試してみましたが、認証が必要です...

注: MX/TXT レコードで確認したくありません。Google Apps を使用しているかどうかではなく、Google Apps を使用しているかどうかを確認する必要があります。この理由は、一連のチェックを行い、ドメインのステータスを示すGoogle Apps Toolkitを開発したためです。ドメインに Google Apps があるかどうかをテストするために使用した古い方法は、他のすべてのオンライン Google Apps テスターが 100% 正確でした。 MX レコードをチェックしていたため、かなり不正確でした。この罠にはまりたくない。これは、以前は Google Apps を使用していたが、別のプロバイダに移行し、販売代理店に戻りたいと考えているドメインにとって非常に役立ちました (私は販売代理店で働いているので、想像以上によく起こります)。

4

3 に答える 3

12

私はそれを理解することに成功しました!

ドメインで Google Apps を購入しているかどうかを確認するには、次の手順を実行します。

" https://www.google.com/a/ {domain} /ServiceLogin"に対して CURL リクエストを実行します。

次の文字列を検索します: 「申し訳ありませんが、使用していないドメインのログイン ページに到達しました」。その文字列が含まれている場合は Google Apps がありません。その文字列が含まれていない場合は、Google Apps がありません Google Apps が含まれています。

PHP 関数の例 (この例では CURL の代わりに file_get_contents を使用しています。これは短いためです。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 ソリューションを使用している場合でも、この方法を使用すると、引き続き機能するはずです。

于 2013-08-01T02:58:30.790 に答える
-1

Mattisdada回答は100% 信頼できるものではありません。

特定のドメインがアクティブ化および検証されているため、提案されているように「 https://www.google.com/a/ {domain}/ServiceLogin」を介してアクセスできる場合がありますが、これは意味しません実際にGoogleアプリを使用していること。

私が見つけた最善の解決策は、MX レコードを調べて、Googleレコードを探すことです。これは PHP に関する質問であるため、最良のオプションはgetmxrr関数を使用することです。

于 2015-08-02T10:17:23.380 に答える