2011-08-11 10 views
1

を使用してFacebook上のすべての友人のリストを取得します。ここで
はあなたの参照のための私のコードです:私は私のFacebookアプリケーションを使用して、現在のユーザーのすべての友人のリストを取得しようとしていますJS SDKとFQL

var meID = <?php echo $data['user_id']; ?>; 
    var queryOnFriends = "SELECT uid, name, online_presence, status FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = " + meID + ")"; 
    var queryOnFriends1 = "SELECT uid, name FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1=" + meID + ")"; 
    var queryOnFriends2 = "SELECT uid2 FROM friend WHERE uid1 = me()"; 
    var queryUserName = "SELECT name, uid FROM user WHERE uid={0}"; 
    var query = FB.Data.query(queryOnFriends2, meID); 
    query.wait(function(rows){ 
     alert("in callback"); 
     document.getElementById('display').innerHTML = 
     'Your name is ' + rows[0].name; 
    }); 

var queryUserNameを使った私の試みはうまくいきましたが、他のすべてのものはうまく動作せず、FQLの例の単純なqueryOnFriends2でも動作しませんでした。
アプリケーションはユーザのユーザ名(queryUserName)のクエリーが機能するため、アクセス許可を正しく要求します(read_friendlists, user_online_presence, friends_online_presence).FB JS SDKはうまく初期化されているようですが、失敗した場合でもコールバック関数を実行することさえありません。

私は間違っていますか?

答えて

0

OK私は今それを得ました...私は私のアプリを認証するためにPHPを使用しました...しかし、同様に認証されませんでした! facebook jsSDKだけを使用し、初期化してからgetStatusを実行すると、すべて自動で実行されます。

その後、クエリが機能しました。

1

queryUserNameと他のクエリとの違いは、queryUserNameにはパラメータ{0}が含まれています。

あなたの他のクエリではなくme()を使用しているので、彼らはに渡されるデータは必要ありません

あなたはこの行を変更する必要があります。これに

var query = FB.Data.query(queryOnFriends2, meID); 

var query = FB.Data.query(queryOnFriends2); 
+0

あなたのヒントのためのthx! – haemse

関連する問題