1

Facebookにページがあり、そのページにいくつかのイベントを作成しました。

これらのイベントはモバイルアプリでも使用しています。

しかし今、グラフAPIは、私がすでに行ったことのあるイベントを表示します。

Graph API Explorerに移動すると、4つのイベントが表示されます。

しかし、下から最後の2つのイベントは過去のイベントです。

私はすでにそれらの終了日を追加しているので、ここで問題になることはありません。

グラフAPIがこれらの2つのイベントを表示しないようにするにはどうすればよいですか?

Facebookから削除したくはありませんが、非表示にしたいだけです。

ご意見をお聞かせください。

4

1 に答える 1

3

sinceUNIXタイムスタンプを受け入れるクエリパラメータを使用して、Facebookから返されるデータを制限して、特定の日付以降に作成されたイベントのみを表示することができます。

したがって、2012年10月8日以降に作成されるイベントが必要な場合は、クエリパラメータを使用して呼び出しを行うことができsinceます。この場合、UNIXタイムスタンプは08 Oct 2012 00:00:00 GMTになります1349654400

sinceここで、クエリパラメータと上記のUNIXタイムスタンプを使用して呼び出しを行うと、2012年10月8日以降に作成されたすべてのイベントが返されます。

これは、クエリパラメータを使用してGraphAPIExplorerで行われた動作中の呼び出しです。since

上記のリンクが機能しない場合:

https://developers.facebook.com/tools/explorer?method=GET&path=jarnvags%2Fevents%3Fsince%3D1349654400

パス:jarnvags / events?since = 1349654400

これがあなたを助けたかどうか私に知らせてください:)

編集:FQL でそれを行う方法は次のとおりです:

SELECT eid, name, description, pic_big, start_time, end_time, location FROM event WHERE creator = 109341359096369 AND eid IN (SELECT eid FROM event_member WHERE uid = 109341359096369) AND start_time >= now() ORDER BY start_time

そして、PHPでそれを行う方法は次のとおりです。

$pageID = '109341359096369';
$fql = 'SELECT eid, name, description, pic_big, start_time, end_time, location FROM event WHERE creator = ' . $pageID . ' AND eid IN (SELECT eid FROM event_member WHERE uid = ' . $pageID . ') AND start_time >= now() ORDER BY start_time';
$ret_obj = $facebook->api(array(
                           'method' => 'fql.query',
                           'query' => $fql,
                         ));
print_r($ret_obj);

https://developers.facebook.com/docs/reference/fql/event/eventで表FQLドキュメントを確認してください。

編集2:コメントで以下のcpilkoの指摘を強調したかったので、将来この回答を見た人が簡単に気付くことができます。日付をタイムスタンプに変換する必要はありません。日付だけでも機能します(2012-10-08)。

そして、これEvents Timezone Migration NoteがFacebookのイベントドキュメントからの引用です:

イベントタイムゾーン移行に関する注意

「イベントタイムゾーン」の移行以降、すべてのイベント時間は常にISO-8601形式の文字列です。'date_format'クエリ文字列修飾子は効果がなくなりました。イベントのタイプに応じて、次の形式が返されるようになりました。

日付のみ(例:「2012-07-04」):日付はあるが特定の時刻がまだないイベント。正確な時間(例: '2012-07-04T19:00:00-0700'):UTCからの特定のオフセットで、特定の時点で開始するイベント。これは、新しいFacebookイベントが時間を追跡する方法であり、ユーザーがさまざまなタイムゾーンのイベントを表示できるようにします。現地時間(非推奨、例: '2012-07-04T19:00:00'):タイムゾーン情報を持たないレガシーイベント。この形式は非推奨ですが、システムに残っているレガシーイベントのために引き続き返されます。

于 2012-10-09T23:32:29.333 に答える