1

オープン グラフ アクションを作成するキャンバス アプリを構築しています。左側のサイドバーに、次のように表示したいと思います。

マイ アクション

  • アクション ME.3
  • アクション ME.2
  • アクション ME.1

友達の行動

  • アクション F1.2
  • アクション F2.1
  • アクション F1.2
  • アクション F3.1

最初の部分は簡単です (get my actions)

FB.api(
   /me/ACTION?limit=10,
   get,
   ...

2番目の部分(友達のアクション)を取得するのはそれほど簡単ではありません

最初に、アプリ ユーザーである友達を取得します (FQL クエリが唯一の効率的な方法です)。次に、友達をループしてアクションを取得します。

FB.api(
    {    
     method:'fql.query',
     query: 'SELECT uid,username, is_app_user FROM user WHERE uid IN(SELECT uid2 FROM friend WHERE uid1 = me()) AND is_app_user=1'
    },
    function(friends) {
        if (friends && friends.length) {
           for (var i = 0; i < friends.length; i++) {
               FB.api(
                    '/'+ friends[i].uid + '/ACTION?limit=10',
                    'get',
                     ...

そして、各フレンドクエリから個別にデータを取得するため

Add each action to an array, sort by date (newest first) and return the first 10

本当に他に方法はないのでしょうか? 何もない

/me/friends/ACTION?limit=10

それとも文書化されていない app_actions テーブルに対する FQL クエリですか?

4

0 に答える 0