FB.api
経由でグラフAPI呼び出しを行って、現在ログインしているユーザーのファーストネームを取得する必要はありますか?または、より簡単で簡単な方法がありますか?Facebook JS SDK現在のユーザーのファーストネームを取得する方法は?
答えて
はい、アクセストークンにエンコードされていないか、アプリケーションに渡されるその他の情報なので、api呼び出しを使用する必要があります。
パフォーマンスが気になる場合は、もちろん結果をキャッシュすることができます。
あなたが必要とするすべてです
function fqlQuery(){
FB.api('/me', function(response) {
var query = FB.Data.query('select name,email,hometown_location, sex, pic_square from user where uid={0}', response.id);
query.wait(function(rows) {
uid = rows[0].uid;
document.getElementById('name').innerHTML =
'Your name: ' + rows[0].name + "<br />" +
'Your email: ' + rows[0].email + "<br />" +
'Your hometown_location: ' + rows[0].hometown_location + "<br />" +
'Your sex: ' + rows[0].sex + "<br />" +
'Your uid: ' + rows[0].uid + "<br />" +
'<img src="' + rows[0].pic_square + '" alt="" />' + "<br />";
});
});
}
FB.api('/me', function(response) {
$('#name').html("Welcome " + response.name);
});
を次のようにFB.apiを使用することができます。
あなたが最初の名前をしたい場合、それは 'response.first_name'、ない' response.name' –
する必要がありますが@スーパーChafouinは感謝しましたが、response.first_nameは定義されていません。 –
Facebookが持っているあなたが最初の名前を取得することができますJavaScriptのSDK、(特別許可を必要としない)姓、教育の歴史とFacebookのユーザープロファイルを持っていることをより多くの。しかし、「機密情報」を取得するには、ユーザーがアプリを承認していない場合はそのアプリを承認してから、教育上の履歴などの「機密情報」を承認する必要があります。 http://www.virtualsecrets.com/facebook-user-data-on-webpage-form.htmlのページには、javascript SDKを使用して作業するプロセス全体と、ウェブページを使ってアプリケーションを設定する方法に関する情報が表示されます。
アトリビュートfirstnameとlastnameは、FB JS SDK APIログイン要求によってもう返されません。これはいつかverの間で変わりました。 2.2(06/2014)および2.5(01/2015)。
の背後にある理由は、ログイン要求をのみFBIDと名で公に利用可能な属性を返し、です。ファーストネームとラストネームは、一般にアクセス可能な属性ではなく、ユーザーによって付与されたアクセス許可が必要です。 See here。
私たちは、「推測回避策」を使う - 属性名が1つの以上の単語を持っている場合、我々はFIRSTNAMEと姓属性にそれらを分割し、または名前からファーストネームを取り込みます。それは...コールバックなどの権限、応答検診、とユーザーを悩まよりも、いくつかの状況では、より良い/簡単だ
どこ私はそれをキャッシュするのでしょうか?ローカルストレージ? – ma11hew28
'' 'window.localStorage.setItem( 'facebookで'、JSON.stringify(レスポンス));' '' – Alastair