2010-08-05 11 views
15

Ich möchte eine Verbindung zur öffentlichen Facebook-Seite herstellen oder alle Einträge auf einer persönlichen Website gruppieren und auflisten. Ich werde PHP auf meinem Server verwenden, das wäre die beste Lösung für mich. Oder Javascript.Erhalte Daten von einer Facebook-Seiten- oder Gruppenwand zur Verwendung auf einer persönlichen Website

Kann jemand erklären oder vielleicht einen Arbeitscode geben, wie man das macht? Oder einfach nur alle Schritte, um das zu machen?

Wenn es möglich ist, Informationen über Person, Datum, Beschreibung ... für jeden Beitrag zu behandeln, wäre das großartig! So konnte mein Layout angepasst werden.

Vielen Dank für Ihre Hilfe hier!

Antwort

0

Worüber ich spreche ist Web Scraping, soweit ich das beurteilen kann. Sie würden die URL der Gruppe abrufen, den Befehl file_get_contents ($ url) in PHP verwenden, um die Datei zu erhalten, und sie dann in PHP analysieren.

Ich würde vorschlagen, dass Sie Ihre regulären Ausdrücke dafür auffrischen, da es wichtig ist, den HTML-Code zu überprüfen, den Facebook für die Pinnwand-Posts verwendet. Sie können die Informationen, die Sie suchen, aus dem HTML-Code abrufen.

Ich würde einige Beispielcode veröffentlichen, aber das ist auf einem anderen Computer, weit weg. Trotzdem sollte es ein guter Anfang sein.

Edit: in einigen Beispielcode hinzu:

$URL = "http://facebook.com/group=5343242" (or whatever the URL structure is for the facebook group) 
$groupPage = file_get_contents($URL) 

Hier ist der Link zu den PHP-Seiten auf Reguläre Ausdrücke:

http://www.php.net/manual/en/book.pcre.php

+0

Interessant. Würde gerne ein Beispiel für diese Art von Lösung sehen, und ich werde den Link, den Sie gepostet haben, überprüfen. – user412264

+0

Ich denke, Ihre beste Wette ist, die API wie die anderen vorgeschlagen zu überprüfen. Mein Vorschlag wird wahrscheinlich viel mehr Arbeit für Sie als die anderen beinhalten. – Althane

+0

Ok tnx. Immer noch ein durchdachter Gedanke, den du da hast :) – user412264

4

Sie benötigen FQL auf stream table und bieten id laufen eine Seite oder Gruppe, an der Sie interessiert sind, als source_id (fb docs haben einige Erklärungen und Beispiele). Sobald Sie Stream-Daten erhalten, können Sie tiefer graben und Nutzer, die diesen Beitrag oder andere Daten, die Sie benötigen, wieder durch FQL verlassen.

Es gibt viele Möglichkeiten zum Ausführen von FQL - es könnte in JS API, PHP API oder durch alte REST API erfolgen.

+0

Das klingt nach der besten Lösung. Hast du Zeit, mir ein funktionierendes Beispiel zu geben, wie man sich mit einer Seite oder Gruppe verbindet und eine xml-Struktur der Wand zurückgibt? Ich benutze PHP. Müssen Sie eine Art von Facebook-Datei mit Arbeitsmethoden enthalten? Danke für die Hilfe – user412264

+0

@ user412264 Wenn Sie mit Facebook API überhaupt nicht vertraut sind, müssen Sie zuerst die Dokumentation selbst lesen. Ich würde es dir hier nicht erklären können. Ich schlage vor, mit JavaScript api (http://developers.facebook.com/docs/reference/javascript/) zu beginnen, da es besser dokumentiert ist (und einfacher imo). Sobald Sie einige Fortschritte gemacht, dann konvertieren Sie Ihre js API-Code in PHP API sollte ziemlich geradlinig sein. – serg

+0

Ok. Ich werde versuchen, auf die js api zu schauen. Müssen Sie eine Anwendung bei Facebook registrieren, um diese Art von Aufgaben durchführen zu können? – user412264

2

die api Urls Facebook Graph verwenden, dass sie

Python-Code mit simplejson Parser

keyword="old spice" 
searchurl='http://graph.facebook.com/search?q='+keyword 
resp=urllib2.urlopen(searchurl) 
pageData=resp.read() 
json = simplejson.loads(pageData) 
posts=json['data'] 
for p in posts: 
    postid=p['id'] 
    username=p['from']['name'] 
    posterimg=p['icon'] 
    comment=p['message'] 
+0

weiß nicht, wie weit Sie damit kommen, aber +1 für eine saubere Lösung zu dem, was ich als ein größeres Problem gedacht hätte – Nicolas78

+0

cool! Ich muss diesen Code näher betrachten, da ich mit Python nicht vertraut bin. Tnx für das Beispiel! – user412264

+0

Sagen 404 schlechte Anfrage –

2

In JavaScript (jQuery) zur Verfügung stellen.)

Um Ihre eigenen Zugriffstoken die facebook graph explorer für Sie (wie auch Testanfragen erzeugen kann);

Sie können meinen Ersatz access_token für die Anzeige von öffentlichen Gruppen oder Seiten.

In Javascript stellen wir eine Anfrage an facebook graph, die ein JSON-Objekt zurückgibt. Die Antwort sieht wie folgt aus: this.

Der folgende Code durchläuft jeden Eintrag und gibt die Nachricht aus. Wenn Sie sich den obigen Link ansehen, erhalten Sie die Namenskonvention für die anderen Datenfelder.

zum Beispiel:

data.data[0].created_time; 
data.data[0].from.name; 

etc ..

Hoffe, das hilft!

<!DOCTYPE html> 
<head> 
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script> 
</head> 

<body> 

<ul id = 'list'> 
<script> 

    var graphQuery = 'https://graph.facebook.com/2228101777/feed'; 
    var authToken = '145634995501895|477bb3c939123a5845afe90d.1-100002565213903|F1VA26jsYL7yBeq2iU6SZX_XXrs' 

    var url = graphQuery +'?access_token='+ authToken +'&callback=?'; 

    $.getJSON(url,function(data){      
     for(i=0; i < data.data.length; i++){ 
      $("#list").append('<li>'+ data.data[i].message +'</li>'); 
      // add some more here if needed 
     }    
    }); 

</script> 

</ul> 
</body> 
</html> 
Verwandte Themen