ログインユーザに対する通知を返します。つまり、http://www.facebook.com/notifications.phpに表示される内容です。アプリケーションからユーザへ送信された通知であるかは、sender_idとrecipient_idが同じユーザIDを示していることで見分けます。
7日より前の通知はFacebookが削除しますので、7日以内の通知のみが返されます。
Facebookアプリケーション(写真やウォールなど)からの通知の場合は、常にユーザの使用言語/ロケールで送信されます。
Columns
Indexable | Name | Type | Description |
---|---|---|---|
notification_id | int | 通知のID。このIDはグローバルでユニークな値ではないので、通知の受信者のIDも追加しなくてはなりません。 | |
sender_id | int | 通知送信者のID | |
* | recipient_id | int | 通知受信者のID。常にログインユーザのIDと等しいです。 |
created_time | time | 通知が送られた日時です。7日以上前のものは削除され、このテーブルやnotifications.getListで取得することができなくなります。 | |
updated_time | time | 通知の送信日時、もしくは、該当アプリケーションの通知がユーザによって隠された、もしくは隠していた状態を解除された日時の遅い方です。 | |
title_html | string | 通知内容のHTMLです。 | |
title_text | string | title_htmlと同じ内容の、HTMLが削除されたバージョンです。 | |
body_html | string | 追加情報のHTML | |
body_text | string | body_htmlの、HTMLが削除されたバージョンです。 | |
href | string | 通知に紐づいたURL。だいたいの場合、通知内容に関するものです。 | |
app_id | int | 通知に紐づいたアプリケーションID。Facebookアプリケーション(例えばウォール)であったりサードパーティだったりします。 | |
is_unread | bool | 通知が既読済みとしてマークされているか否かです。notification.markReadで既読済みにできます。 | |
is_hidden | bool | 該当アプリケーションの通知を隠しているか否かです。 |
Examples
任意の日時以降に作成された、未読で隠されていない通知を取得します。
SELECT notification_id, sender_id, title_html, body_html, href FROM notification WHERE recipient_id=<uid>
AND is_unread = 1 AND is_hidden = 0 AND created_time > <time>
Usage Notes
リアルタイムで通知をポップアップする例は、「Facebook for Adobe AIR application」をご覧ください
body_textフィールドのHTMLマークアップの返し方とbody_htmlのエスケープに関して、bug 6799を登録しました。