Artikelformat

FQL Fallstricke – Kapitel 2

Die Facebook Query Language ist ein ewiger Quell der Freude und von daher gibt es diesmal wieder einen Artikel zu diesem Thema. Als Oberthema habe ich heute den Seitenfeed ausgewählt und die Posts, die man über diesen Feed abrufen kann. Im Kapitel 1 habe ich schon gezeigt, wie man möglichst viele Posts erhält. Heute werden schauen wir, dass wir einen möglichst vollständigen Feed erhalten und natürlich auch die Posts etwas filtern. Es gibt eine ganze Menge spezieller Posts, die man normalerweise nicht per FQL direkt bekommt.

Hidden Post

Wenn man in der Timeline einen Post versteckt, dann ist er auf der Facebook Seite nicht mehr sichtbar. Diese werden im Stream auch nicht mehr gelistet. Wenn man diese dennoch abrufen möchte, dann kann man folgendes FQL verwenden.

select post_id from stream 
   where source_id='<page_id>' and is_hidden=1 
   and timeline_visibility='hidden'

Posts mit dem Wert is_hidden=1 werden im Stream nicht gelistet. Man kann nun die Kombination von is_hidden=0 and is_hidden=1 setzen und so alle Posts abrufen.

Spam Post

Spam Posts sind auch is_hidden-Posts. Diese haben den timeline_visibility Wert auf spam gesetzt. Möchte man die Spam-Posts erhalten, so geht man genau wie bei den Hidden Posts vor.

select post_id from stream 
   where source_id='<page_id>' and is_hidden=1 
   and timeline_visibility='spam'

Scheduled Post

Die Scheduled Posts werden nicht von vorne herein veröffentlicht. Sie werden erst zu einem gewissen Termin veröffentlicht, den der Benutzer festlegt. Diese Posts werden auch nicht im normalen Stream abgerufen – es sei denn sie wurden veröffentlicht. Aber auch hier kann man mit einem FQL-Trick an den Post kommen. Man muss zusätzlich das Attribut is_published mit dem Wert 0 explizit abfragen, zum Beispiel so:

select post_id, scheduled_publish_time 
   from stream where source_id='<page_id>' 
   and is_published=0 and scheduled_publish_time

Dark Post

Die Dark Posts werden auch Ghost Posts genannt und haben genau wie die Scheduled Posts das Attribut is_published auf 0 gesetzt. Der Unterschied ist hier aber, dass keine scheduled_publish_time gesetzt ist. Somit erscheint ein solcher Post nicht im Stream und kann nur durch einen absoluten Link erreicht werden. Die Dark Posts werden vor allem für Werbekampagnen verwendet und können über den Ads-Manager (genauer PowerEditor) erzeugt werden. Eine Erstellung per API ist natürlich auch möglich. Die Abfrage ist wie bei den Scheduled Posts und die scheduled_publish_time ist hier immer ‚null‚:

select post_id, scheduled_publish_time 
   from stream where source_id='<page_id>' 
   and is_published=0 and not(scheduled_publish_time)

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.