2012-04-04 2 views
0

Ich möchte eine Website erstellen, die den Benutzer alle Videos, die seine Freunde auf Facebook veröffentlicht, ich weiß, wie man den News-Feed für die letzten Beiträge, aber ich Ich weiß nicht, wie man alle Posts für einen bestimmten Tag zieht (alle Posts vom Beginn des Tages).Wie bekomme ich alle Beiträge von Facebook User News Feed für bestimmten Tag

Ich benutze dieses FQL Anruf die neuesten Videos zu ziehen:

SELECT post_id, source_id, actor_id, target_id, message, attachment, permalink, type FROM stream 
WHERE source_id IN (SELECT target_id FROM connection WHERE source_id=me() AND is_following=1) 
AND is_hidden = 0 
AND type = 80 
AND strpos(attachment.href, "youtu") >= 0 

aber ich weiß nicht, wie von Anfang des Tages alle Videos zu ziehen, um es endet ...

edit:

Jetzt habe ich in meinem Code als Ihre Antwort:

@feed = Koala::Facebook::API.new(current_user.token) 
to = Time.now.to_i 
yest = 1.day.ago.to_i 
@feed.fql_query("SELECT post_id, actor_id, target_id, message, likes FROM stream WHERE source_id = me() AND created_time > #{yest} AND created_time < #{to} AND type = 80 
AND strpos(attachment.href, "youtu") >= 0") 

und der Vorschub Vari in der Lage, mich zurück zu geben # und nicht ein JSON, wie kann ich ein JSON von dieser Variable bekommen?

Antwort

3

Die Verwendung von FQL ist wahrscheinlich die beste Wahl. Sie benötigen die Berechtigung read_stream vom Benutzer.

können Sie die Koala gem verwenden und die folgenden ausführen:

require 'koala' 
@graph = Koala::Facebook::API.new("YOUR_ACCESS_TOKEN") 
@graph.fql_query("SELECT post_id, actor_id, target_id, message FROM stream WHERE source_id = me() AND created_time > START_TIME AND created_time < END_TIME LIMIT 10") 

Beide START_TIME und END_TIME sollte Unix-Zeitstempel sein. In Ihrem Fall, den Beginn und das Ende des Tages darstellend.

+0

Hallo, 1. Wie kann ich Unix-Zeitstempel mit Rails generieren? 2. wenn ich das hinzufügen möchte "AND type = 80 UND strpos (attachment.href," youtu ")> = 0" Ich füge nur diese Zeile am Ende der FQL-Abfrage hinzu? – gal

+0

@gal Sie können nur Ihre Bedingungen am Ende des FQL hinzufügen. Um einen Unix-Zeitstempel zu erzeugen, können Sie die Methode 'to_i' der Zeitklasse aufrufen. ('Time.now.to_i') Auch http://stackoverflow.com/questions/1805950/ruby-rails-converting-a-date-to-a-unix-timestamp – Gazler

+0

Danke Mann !, und noch ein kleines Ding, Wie kann ich alle Posts nach Likes sortieren? – gal

Verwandte Themen