2016-11-29 8 views
0

Ich versuche, ein Skript einzurichten, um automatisch eine Nachricht auf eine Facebook-Seite zu posten, die ich admin bin. Ich habe den Code unten, aber derzeit, statt auf der Seite der Seite als der Seitenadministrator zu posten, geht der Beitrag von meinem persönlichen Konto zum Abschnitt "Besucherbeiträge" der Seite. Irgendwelche Ideen, wie ich das lösen kann?Facebook-Posting als Seite mit PHP API?

require_once('Facebook/autoload.php'); 

$fb = new Facebook\Facebook([ 
    'app_id' => 'myappid', 
    'app_secret' => 'myappsecret', 
    'default_graph_version' => 'v2.5', 
]); 

$pageID = 'mypageid'; 
$accessToken = 'myaccesstoken'; 

try { 
    $publish = $fb->post('/' . $pageID . '/feed', 
    array(
     'access_token' => $accessToken, 
     'message' => $status, 
     'to' => $pageID 
     ) 
    ); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    // When Graph returns an error 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    // When validation fails or other local issues 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 
+0

Warum der Downvote? – user13286

Antwort

2

Sie müssen den Zugriffstoken der Seite verwenden, nicht Ihren persönlichen.

Rufen Sie mit Ihrem persönlichen Zugriffstoken /me/accounts. Sie erhalten eine Liste der Seiten, für die Sie Administrator sind, und greifen auf Tokens für jede Seite zu.

+0

Danke für die Hilfe! Ich habe das Zugriffstoken mit dem, das ich gefunden habe, mit der Seite im API Explorer über '/ me/accounts' vertauscht, aber jetzt bekomme ich den Fehler:' Graph gab einen Fehler zurück: Ungültiges appsecret_proof im API-Argument 'I überprüfte die erweiterten Einstellungen der App und ich habe "app app secret" deaktiviert. Irgendwelche Ideen da? – user13286

+0

@ user13286 Möglicherweise verwenden Sie eine alte Version des SDK. 'Facebook \ Facebook' ist eine alte Syntax. – ceejayoz

+0

Ich habe am Ende ein temporäres Zugriffs-Token generiert (~ 1 Stunde Ablaufdatum) und dann habe ich das Debugger-Tool verwendet, um das Ablaufdatum zu verlängern und jetzt funktioniert es korrekt. Nochmals vielen Dank für Ihre Hilfe! – user13286