it-swarm.com.de

Facebook hat öffentliche RSS-Feeds getötet; Wie erhalte ich eine Facebook-Seite RSS mit der neuen Timeline?

Ich versuche, einen Seiten-Feed für RSS von Facebook abzurufen. Bei jedem Versuch, ihn abzurufen, erhalte ich jedoch eine Fehlermeldung in der XML mit den folgenden Angaben:

<![CDATA[
This feed URL is no longer valid. Visit this page to find the new URL, if you have access: &lt;a href=&quot;https://www.facebook.com/profile.php?id=<FB_ID>&quot;&gt;https://www.facebook.com/profile.php?id=<FB_ID>&lt;/a&gt;
]]>

Die URL, die ich benutze, ist:

https://www.facebook.com/feeds/page.php?id=<fb_id>&format=rss20&access_token=<my_page_token>

Ich habe weder eine Altersbeschränkung noch eine Länderbeschränkung:
enter image description here

Außerdem habe ich es mit und ohne Zugriffstoken versucht.

Wie in den Kommentaren unten angegeben, funktioniert die JSON-URL tatsächlich:

https://graph.facebook.com/<page_name>/feed&https://www.facebook.com/<page_name>/‌​feed?access_token=<token>

Was ist hier los/wie löse ich das Problem?

11
ylluminate

Ich bin mit dem gleichen Problem gekommen. Nachdem ich nach einer Lösung gesucht hatte, stellte ich fest, dass FB die öffentliche RSS-Unterstützung stillschweigend beendet hat. (siehe diesen Beitrag von Jesse Stay)

Ich habe verstanden, dass ich die API selbst aufrufen und den Feed erstellen muss (ich muss den Feed außerdem mit einem WP Plugin und anderen Elementen analysieren).

Holen Sie sich also zunächst einen API-Schlüssel (auch App-ID genannt) und laden Sie das PHP Facebook-SDK herunter.

Laden Sie dann die Klasse Universal Feed Generator PHP herunter. Es werden alle erforderlichen Header und XML für Sie generiert.

Dein PHP-Skript wird so aussehen:

require('lib/facebook.php'); // require your facebook php sdk
include("feed_generator/FeedWriter.php"); // include the feed generator feedwriter file

$fb = new facebook(array(
    'appId' =>  'YOUR_APP_ID', // get this info from the facebook developers page
    'secret'=>  'YOUR_SECRET_KEY' // by registering an app
));
$response = $fb->api('/spreetable/feed','GET'); // replace "spreetable" with your fb page name or username

// create the feedwriter object (we're using ATOM but there're other options like rss, etc)
$feed = new FeedWriter(ATOM);

$feed->setTitle('Spree Table'); // set your title
$feed->setLink('http://spreetable.com/facebook/feed.php'); // set the url to the feed page you're generating

$feed->setChannelElement('updated', date(DATE_ATOM , time()));
$feed->setChannelElement('author', array('name'=>'Spree Table')); // set the author name

// iterate through the facebook response to add items to the feed
foreach($response['data'] as $entry){
        if(isset($entry["message"])){
            $item = $feed->createNewItem();
            $item->setTitle($entry["from"]["name"]);
            $item->setDate($entry["updated_time"]);
            $item->setDescription($entry["message"]);
            if(isset($entry["link"]))
                $item->setLink(htmlentities($entry["link"]));

            $feed->addItem($item);
        }
}

// that's it... don't echo anything else, just call this method
$feed->genarateFeed();

Hinweis aus der Zukunft (2013-07-09): Hör nicht mehr auf meine Antwort. Es ist alt. Facebook hat eine neue API mit neuen Funktionen in der Abfragesprache, sodass Sie keine Feeds ziehen müssen. Versuchen Sie, ihre API auf unterhaltsame, intelligente Weise zu verwenden :)

13
lu1s

Hier sind meine Richtungen.

  1. Gehen Sie zu Facebook und klicken Sie mit der rechten Maustaste auf das Profilbild, um die URL abzurufen und die ID zu kopieren
  2. Gehen Sie hier https://graph.facebook.com/ID_GOES_HERE
  3. Nehmen Sie den auf der Ergebnisseite aufgelisteten ID-Wert und kopieren Sie ihn
  4. Gehen Sie hier und fügen Sie die neue ID https://www.facebook.com/feeds/page.php?id=ID_GOES_HERE&format=rss20 ein.
  5. Kopieren Sie die URL in Ihren Feed-Reader
23
stacey

Wenn auf der Quellseite keine Seiten-ID vorhanden ist, habe ich die ID über den Link "Seite erstellen" gefunden, wie in

https://www.facebook.com/pages/create.php?ref_id=the_#_here

ahhhh ... so gut, dass ich meine RSS zurückschickt! Danke euch allen! : D

2
tona b

Zwei einfache Schritte zum RSS/Atom-Feed: 

Diese URL generiert einen Atom-Feed, Sie können ihn jedoch ändern.

2
antou

So finden Sie die Seiten-ID einfacher:

Sehen Sie sich einfach die Quelle für Ihre FB-Seite (oder Timeline-App, zuvor als Registerkarte bezeichnet) an und suchen Sie nach page_id. Ersetzen Sie es durch den bereitgestellten Code. 

0
Michelle Dear