2016-03-30 7 views
0

Ich versuche, den neuesten Facebook-Post von einer Facebook-Seite zu bekommen. Ich arbeite mit der Facebook php SDK v4 (https://github.com/facebook/facebook-php-sdk-v4/).Erhalten Sie den neuesten Beitrag von Facebook-Seite (Feed)

Ich habe die Bibliothek (php sdk) zum Komponisten hinzugefügt: composer require facebook/php-sdk-v4. Mein Appid/App-Geheimnis und die Seiten-ID sind korrekt.

$config = array(); 
$config['app_id'] = 'myappid'; 
$config['app_secret'] = 'myappsecret'; 

$facebook = new \Facebook\Facebook($config); 

$pageid = 'mypageid'; 

try { 

    $pagefeed = $facebook->api("/" . $pageid . "/feed"); 
} 
catch(Exception $ex){ 
    echo $ex->getMessage(); die; 
} 

Das Problem ist, ich den Fehler Call to undefined Methode Face \ Facebook bekommen :: api(). Wenn ich in anderen Themen online suche, haben sie das oft benutzt. Aber was mache ich falsch?

+1

Soweit ich sehen kann, ist 'api' in keiner der Facebook PHP-Dateien eine Funktion. Hmm. Haben Sie versucht, die Funktion '$ facebook-> get()' zu benutzen? – pxgamer

+0

Ja, es gibt keine API-Methode, nur Methoden abrufen und posten. Sehen Sie hier https://www.sammyk.me/upgrading-the-facebook-php-sdk-from-v4-to-v5) – KubiRoazhon

+0

Das ist eigentlich v5 des SDK (siehe Readme auf Github, sie behielten nur die alte URL.) v4 hatte eine 'api' Methode, aber in v5 wurde es entfernt. Sie sollten immer zuerst die offizielle Dokumentation lesen: https://developers.facebook.com/docs/php/api/5.0.0 – CBroe

Antwort

0

Nach dem docs können Sie einen Seitenvorschub mit dem folgenden Code erhalten:

$request = new FacebookRequest(
    $fbApp, 
    '{access-token}', 
    'GET', 
    '/{page-id}/feed' 
); 
$response = $request->execute(); 
$graphObject = $response->getGraphObject(); 
/* handle the result */ 

Quelle: https://developers.facebook.com/docs/graph-api/reference/v2.5/page/feed

Beachten Sie, dass die Beispiele auf dieser Seite standardmäßig auf die HTTP-Versionen, anstatt die PHP SDK.

Bearbeiten: Die richtigen Parameter für die FacebookRequest-Funktion hinzugefügt.

Erfordert ein Zugriffs-Token und $app Instanz wie unten gezeigt.

Facebook\FacebookRequest($fbApp, '{access-token}', 'GET', '/{page-id}/feed'); 

Der Zugriffstoken kann wie unten gezeigt mit der getAccessToken() Funktion erstellt werden.

$access_token = $facebook->getAccessToken(); 
$facebook->setAccessToken($access_token); 

V4 die API verwendet, um ein Session-System, die hier gefunden werden kann: https://developers.facebook.com/docs/php/FacebookSession/4.0.0

erstellen Facebook-Session-Variablen, und dann können Sie diese $session in der ursprünglichen v4 anfordern Methode verwenden.

$request = new FacebookRequest(
    $session, 
    'GET', 
    '/{page-id}/feed' 
); 
$response = $request->execute(); 
$graphObject = $response->getGraphObject(); 
/* handle the result */ 
+0

Und was ist die Variable $ Session? – nielsv

+0

Entschuldigung. '$ session' wurde anscheinend in Version 5 der API entfernt. Ich habe es aktualisiert, um die neuesten Versionsinformationen zu enthalten. Wenn Sie nicht über den v4 Github Link auf die v5 API aktualisiert haben, können Sie die Info unten verwenden :) – pxgamer

+0

Danke für die Info, aber was ist die Variable $ fbApp? Und wie bekomme ich den Zugangstoken? – nielsv