Today I stumbled over two apparantly undocumented FQL tables
- open_graph_action (contains OpenGraph actions)
- open_graph_object (contains OpenGraph objects)
The structure of the open_graph_object table is the following (extracted by using metadata=1
as parameter on a specific object):
It can be queried like this:
SELECT admins, application, audio, created_time, data, description, determiner, image, is_scraped, locale, post_action_id, profile_id, restrictions, see_also, site_name, title, type, updated_time, url, video FROM open_graph_object WHERE type="{APPLICATION_NAMESPACE}:{OBJECT_TYPE}"
To be able to execute the query, you need an App Access Token of the App under whiches namespace the object was established. I wasn't able to extract the object_id
, because the id
field is seemingly not present. I guess it's just called otherwise. With the above query, you'll get all OpenGraph objects of the specified type. Using LIMIT start, count
works for me as well.
The structure of the open_graph_action table is the following (using metadata=1
as parameter on a specific object isn't working, so compiled manually):
SELECT id, actor_id, objects, tags, start_time, end_time, publish_time FROM open_graph_action WHERE id = {PUBLISHED_ACTION_ID}
To query this table, you need an object_id
of a published action. Permission-wise, a User Access Token with read_stream
permission for the App under whiches namespace the action was published.
My questions:
- Is somebody actually using these tables?
- If so, how can one retrieve a certain OpenGraph object by its ID?