2011-01-20 6 views
1

新しいiframeアプリをテスト中です。Facebook Apiは最大25個のイベントを返すだけですか?

グラフapiを使用して、ユーザーのすべてのイベントを取得しようとしています。

$tempevent = $facebook->api('/me/events', 'get', array("fields"=>"id, name, start_time")); 

したがって、最も遠いイベントは25イベントだけです。

アイデア?

JS-バージョン..同じ結果をチェックアウトしました。

FB.api('/me/events', function(response) { 
    console.log("event id: " + response.data[0].id); //k 
    console.log("event id: " + response.data[24].id); //k 
    console.log("event id: " + response.data[25].id); //not k 
}); 

答えて

3

使用FQL:

$tempevent = $this->facebook->api(array(
    'method' => 'fql.query', 
    'query' => 'SELECT eid, name, start_time FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = me())' 
)); 

説明:ここでは
あなたはイベントIDeid)はINユーザーme()がリンクしているevent_memberテーブルであるeventテーブルからすべてのイベントを取得しています彼がattendingunsuredeclined、またはnot_repliedであるかどうかに関係なく、

+0

@Sven Koluem:説明と参照で私の答えを更新しました。 – ifaour

+0

thxの完璧な説明。あなたは私のアプリ/または私のアプリのすべてのユーザーによって生成されたすべてのイベントをどのように得ることができるのか、考えを持っていますか? –

+0

@Sven Koluem:あなたのアプリケーションを通して*作成されたイベントは、ユーザーに代わっています。「*私のアプリケーションのすべてのユーザーを取得する方法?*」は挑戦的な質問のようです! – ifaour

2

次のURLのhttps://graph.facebook.com/me/events?access_token=YOUR_ACCESS_TOKENにアクセスしてください。下へスクロール。あなたは、ページブックの結果が返されることがわかります。 data param(これはsdkによって返されます)のほかに、別のpaging paramがあります。これには、nextpreviousという結果のリンクが含まれています。それらを使用してさらに多くのイベントを取得します。

また、ページごとにさらに多くのイベントを取得する場合は、limit paramをaccess_tokenに追加できます。例:https://graph.facebook.com/me/events?access_token=YOUR_ACCESS_TOKEN&limit=50

幸運。

+0

これはまったくありません。PHPでこれを行うにはどうすればいいですか? $ facebook-> api( '/ me/events'、 'get'、array( "fields" => "id、name、start_time"、 'access_token' => $ facebook-> getAccessToken()、 'limit' = > 50)); ?? –

+0

あなたは 'json_decode(file_get_contents(url))'のように、そのURLを直接取得します。しかし、ifaourが提案したものを使用してください。私はfacebookがあなたにすべてのイベントを提供していることを示しましたが、グラフapiを使用するとページ番号 – misterjinx

関連する問題