1

FacebookとFacebookの友達から情報を取得するためのC#SDKを使用して、Windows Phone 7アプリケーションを開発しています。私はどこかに行き詰まっています...

これで foreach ループでフレンド数を取得できますが、別の関数からその関数を呼び出すと 0 が返されます。なぜですか?

    private object GetFriendsCount() {
        var fb = new FacebookClient(_accessToken);
        var query = string.Format("SELECT friend_count FROM user WHERE uid={0}", "me()");
        // var query1 = string.Format("SELECT uid,name,pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1={0})", "me()");
        fb.GetAsync("fql", new { q = query });
        object returnVal = 0;
        fb.GetCompleted += (o, e) =>
        {
            if (e.Error != null)
            {
                Dispatcher.BeginInvoke(() => MessageBox.Show(e.Error.Message));
                return;
            }

            var result = (IDictionary<string, object>)e.GetResultData();
            var data = (IList<object>)result["data"];
            foreach (var comment in data.Cast<IDictionary<string, object>>())
            {
                returnVal = comment["friend_count"];
               // Dispatcher.BeginInvoke(() => MessageBox.Show(returnVal.ToString()));
            }

        };

        return returnVal;
    }
4

1 に答える 1

0

SELECT friend_count, name FROM user WHERE uid = me()

あなたが探しているものを提供する必要があります。私の経験では、データを集計したい場合は、ループが最適です。列には合計数が表示されfriend_countますが、非アクティブ、無効、または放棄されたアカウントも含まれます。

于 2012-10-27T05:35:15.247 に答える