Facebookのソーシャルログイン機能を利用すると、以下のようなユーザー情報を取得できます。
- ユーザーの公開プロフィール情報(名前、プロフィール画像など)
- ユーザーのメールアドレス
- ユーザーの友達リスト(任意のアプリでユーザーの友達のリストを使用する場合)
- ユーザーが公開設定にしているその他の情報(性別、誕生日、現在の場所など)
ただし、これらの情報はFacebookのプライバシー設定によって制限される場合があります。ユーザーがプライバシー設定で情報の公開範囲を制限している場合、アプリはその情報にアクセスできません。
ユーザーの公開プロフィール情報には、名前、プロフィール画像、性別、誕生日、現在の場所などが含まれます。
ユーザーの公開プロフィール情報のデータレイアウトは以下のようになります:
- 名前: [ユーザーの名前]
- プロフィール画像: [プロフィール画像の表示]
- 性別: [ユーザーの性別]
- 誕生日: [ユーザーの誕生日]
- 現在の場所: [ユーザーの現在の場所]
これらの情報は、ユーザーがプライバシー設定で公開している場合にアクセス可能です。
以下のコードは、Facebookのソーシャルログインを使用してユーザー情報を取得するための例です。
// ユーザー情報のスコープを指定
const scope = 'public_profile,email,user_friends';
// ログイン処理を実行
FB.login(function(response) {
if (response.status === 'connected') {
// ユーザー情報の取得
FB.api('/me', {fields: 'id,name,email'}, function(userInfo) {
// ユーザー情報の表示
console.log('ユーザー名: ' + userInfo.name);
console.log('メールアドレス: ' + userInfo.email);
});
} else {
console.log('ログインに失敗しました');
}
}, {scope: scope});
上記のコードでは、FB.login
関数を使用してFacebookのログイン処理を行います。ログインが成功した場合、FB.api
関数を使用して/me
エンドポイントからユーザー情報を取得します。取得した情報は、コンソールに表示されます。この例では、name
とemail
のフィールドを取得していますが、必要に応じて他のフィールドも指定できます。
なお、実際のアプリケーションでは、Facebookの開発者ポータルでアプリを作成し、適切な設定を行う必要があります。また、FacebookのJavaScript SDKを事前に読み込む必要があります。
<script async defer crossorigin="anonymous" src="<https://connect.facebook.net/en_US/sdk.js#xfbml=1&version={api-version}&appId={your-app-id}&autoLogAppEvents=1>" nonce="xxx"></script>
ユーザー情報のフィールドには以下のようなものがあります:
- id: ユーザーの一意のID
- name: ユーザーの名前
- first_name: ユーザーの名字
- last_name: ユーザーの名前
- middle_name: ユーザーのミドルネーム
- email: ユーザーのメールアドレス
- link: ユーザーのプロフィールページのURL
- picture: ユーザーのプロフィール画像のURL
- gender: ユーザーの性別
- locale: ユーザーのロケール(言語や地域設定)
- timezone: ユーザーのタイムゾーン
- updated_time: ユーザー情報の最終更新日時
これらのフィールドは、FB.api
関数のfields
パラメータで指定することができます。
例えば、FB.api('/me', {fields: 'name,email,picture'})
のようにすると、ユーザーの名前、メールアドレス、プロフィール画像のURLを取得することができます。
必要に応じて、上記のフィールド以外も指定することができます。