オープン グラフ アクションを作成するキャンバス アプリを構築しています。左側のサイドバーに、次のように表示したいと思います。
マイ アクション
- アクション 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 クエリですか?