.net V3(dllバージョン2.0.1.0)用のGoogleドキュメントリストAPIを使用しています。このリンクhttps://developers.google.com/google-apps/documents-list/#authorizing_requests_with_clientloginで説明されているようにクライアントログイン認証を使用しています
Googleアプリアカウントか通常のGoogleアカウントかを確認するにはどうすればよいですか?
ありがとう、バーラト
.net V3(dllバージョン2.0.1.0)用のGoogleドキュメントリストAPIを使用しています。このリンクhttps://developers.google.com/google-apps/documents-list/#authorizing_requests_with_clientloginで説明されているようにクライアントログイン認証を使用しています
Googleアプリアカウントか通常のGoogleアカウントかを確認するにはどうすればよいですか?
ありがとう、バーラト
アカウントがGoogleAppsアカウントであるかどうかを確認する良い方法はないと思います。
メールアドレスが既存のメールアドレスでGoogleアカウントを作成できるため、メールアドレスが@gmail.comと異なるかどうかを確認することはできません。
私が考えている唯一の方法は、ドメインのDNS MXレコードをチェックして、ドメインの一部のサービスがGoogle Appsサーバーによって提供されているかどうかを確認することです(Gmailから提供されるメールなど)が、そこでもさらにチェックする必要があるかもしれません一部のGoogleApps企業は、たとえばGmail(または他のサービス)を非アクティブ化して、代わりにカスタムソリューションを使用するため、1つのサービスよりも多くなります。
あなたが含まれていると仮定します:
https://www.googleapis.com/auth/userinfo.email
OAuthスコープで、次のリクエストを行うことができます。
https://www.googleapis.com/oauth2/v2/userinfo
Google Appsアカウントの場合、「hd」パラメータ(Hosted Domain?)は、値としてGoogleAppsドメインを使用した呼び出しによって返されます。@ gmail.comであろうと、潜在的な「競合するアカウント」であろうと、それがコンシューマーアカウントである場合、hdパラメーターは返されません。以下の私の例を参照してください。admin@jay.powerposters.orgはGoogleAppsアカウントであり、consumer@jay.powerposters.orgはコンシューマーアカウントです。Google Appsドメインでコンシューマーユーザーを作成した場合、競合するアカウントになり、コンシューマーアカウントは@ jay.powerposters.org名前空間からプッシュされますが、まだ発生していません。
admin@jay.powerposters.orgの場合:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 99
X-xss-protection: 1; mode=block
...
{
"email": "admin@jay.powerposters.org",
"verified_email": true,
"hd": "jay.powerposters.org"
}
Consumer@jay.powerposters.orgの場合:
GET https://www.googleapis.com/oauth2/v2/userinfo
HTTP/1.1 200 OK
Content-length: 71
X-xss-protection: 1; mode=block
{
"email": "consumer@jay.powerposters.org",
"verified_email": true
}
ユーザーが特定の機能にアクセスできるかどうかを確認することが目的の場合は、メタデータフィードにリクエストを送信して、<docs:feature>
要素を確認できます。
たとえば、の機能<docs:featureName>upload_any</docs:featureName>
は、ユーザーがあらゆる種類のドキュメントをアップロードできることを示します。
Googleの消費者アカウントは@gmail.com
、またはめったにありません@googlemail.com
が、残りはGoogleAppsアカウントになります。