FQL:unified_thread
Access to this table requires the user to grant the read_mailbox extended permission to the application and has a number of query restrictions. See the Notes section below for more details.
Contents |
Columns
Highlighted rows are indexable / searchable and one is usually required in the WHERE portion of the query.
Name | Type | Description |
---|---|---|
thread_id | string | Unique identifier of the thread. |
unread | bool | Flag indicating whether the thread contains unread messages. |
archived | bool | Flag indicating whether the thread is archived. |
num_messages | int | Total number of messages in the thread. |
num_unread | int | Number of unread messages. |
subject | string | Subject of the thread. |
snippet | string | Fragment of the thread for use in thread lists. |
timestamp | string | Last update time of the thread (Unix-type timestamp with millisecond resolution). |
tags | array | Thread tags. |
senders | array | List of participants who have sent a message in the thread. Each element of the list is an object with properties name (string), email (string) and user_id (string).
|
participants | array | List of participants who are currently subscribed to the thread. Each element of the list is an object with properties name (string), email (string) and user_id (string).
|
former_participants | array | List of former participants who have unsubscribed from the thread. Each element of the list is an object with properties name (string), email (string) and user_id (string).
|
object_participants | array | List of participants who represent a Facebook page, group or event. Each element of the list is an object with properties object_address_type (int) and id (string).
|
single_recipient | string | For threads representing a two-person conversation this is the user ID of the other thread participant. |
has_attachment | bool | Flag indicating whether the thread contains a message which includes an attachment. |
Examples
Get threads from the user's inbox
SELECT ... FROM unified_thread WHERE has_tags('inbox')
Get unread threads from the user's 'other' folder
SELECT ... FROM unified_thread WHERE has_tags('other') AND unread=1
Get threads containing the word 'hey'
SELECT ... FROM unified_thread WHERE CONTAINS('hey')
Get the two person conversation thread with user 1234
SELECT ... FROM unified_thread WHERE single_recipient=1234
Get inbox threads updated since the beginning of 2010
SELECT ... FROM unified_thread WHERE has_tags('inbox') and timestamp >= 1262332800000
Notes
Not all syntactically valid queries are supported. The constraints are:
- the WHERE clause must specify a value for thread_id or single_recipient or contain a `has_tags` call with one of the folder tags (‘inbox’, ‘other’, ‘spam’) or contain a CONTAINS predicate
- the WHERE clause must be a conjunction (boolean AND) of constraints on the fields marked as indexable (e.g. you cannot specify constraints based on the subject, etc.)
- the results can only be ordered by timestamp (ascending or descending)
- you should always specify a limit. If unspecified the default is to return at most 20 results
Tags
Each thread has a set of tags which contain information about the thread. Tags can denote a messaging folder (inbox
, other
, spam
), the source of the thread (source:web
, source:mobile
, source:chat
, source:email
), whether the thread is archived (archived
), whether all of the messages in the thread have been read (read
), whether the viewer has sent a message in the thread (sent
).
Functions
This table supports the special function has_tags. This function takes one or more parameters and evaluates to true for threads which contain all of the tags specified as parameters. Negated tags can be specified by prepending the ! (exclamation mark) character to the tag name.