2011-02-13 11 views

答えて

1

はい、アクセストークンにエンコードされていないか、アプリケーションに渡されるその他の情報なので、api呼び出しを使用する必要があります。

パフォーマンスが気になる場合は、もちろん結果をキャッシュすることができます。

+0

どこ私はそれをキャッシュするのでしょうか?ローカルストレージ? – ma11hew28

+0

'' 'window.localStorage.setItem( 'facebookで'、JSON.stringify(レスポンス));' '' – Alastair

0

グラフAPI呼び出しを呼び出すと、Userファーストネームが呼び出されます。テーブルUserを照会して、ユーザーの名前を取得することもできます。それはあなたに何が好きですか?

1

あなたが必要とするすべてです

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 />"; 
       }); 
     }); 
    } 
11
FB.api('/me', function(response) { 
    $('#name').html("Welcome " + response.name); 
}); 

を次のようにFB.apiを使用することができます。

+6

あなたが最初の名前をしたい場合、それは 'response.first_name'、ない' response.name' –

+3

する必要がありますが@スーパーChafouinは感謝しましたが、response.first_nameは定義されていません。 –

0

Facebookが持っているあなたが最初の名前を取得することができますJavaScriptのSDK、(特別許可を必要としない)姓、教育の歴史とFacebookのユーザープロファイルを持っていることをより多くの。しかし、「機密情報」を取得するには、ユーザーがアプリを承認していない場合はそのアプリを承認してから、教育上の履歴などの「機密情報」を承認する必要があります。 http://www.virtualsecrets.com/facebook-user-data-on-webpage-form.htmlのページには、javascript SDKを使用して作業するプロセス全体と、ウェブページを使ってアプリケーションを設定する方法に関する情報が表示されます。

2

アトリビュートfirstnameとlastnameは、FB JS SDK APIログイン要求によってもう返されません。これはいつかverの間で変わりました。 2.2(06/2014)および2.5(01/2015)。

の背後にある理由は、ログイン要求をのみFBIDで公に利用可能な属性を返し、です。ファーストネームとラストネームは、一般にアクセス可能な属性ではなく、ユーザーによって付与されたアクセス許可が必要です。 See here

私たちは、「推測回避策」を使う - 属性が1つの以上の単語を持っている場合、我々はFIRSTNAME属性にそれらを分割し、または名前からファーストネームを取り込みます。それは...コールバックなどの権限、応答検診、とユーザーを悩まよりも、いくつかの状況では、より良い/簡単だ

関連する問題