2013-02-23 10 views
5

Hallo, ich benutze Facebook php sdk, um Beiträge zu meiner Fanpage zu machen. Ich versuche, diese Beiträge in die Zukunft zu planen. Ich stoße jedoch auf einige Probleme. Hier ist mein CodePosts, die über Graph API geplant werden, werden häufig nicht veröffentlicht

<?php 
// This code is just a snippet of the example.php script 
// from the PHP-SDK <https://github.com/facebook/facebook-php-sdk/blob/master/examples/example.php> 
require_once('facebookphp/src/facebook.php'); 

$app_id = "xxxxx"; 
$app_secret = "xxxxxx"; 

// Create our Application instance (replace this with your appId and secret). 
$facebook = new Facebook(array(
    'appId' => $app_id, 
    'secret' => $app_secret, 
    'fileUpload' => true, 
)); 

// Get User ID 
$user = $facebook->getUser(); 
var_dump($user); 
if ($user) { 
    try { 
    $page_id = 'xxxx'; 
    $album_id = 'xxxxx'; 
    $page_info = $facebook->api("/$page_id?fields=access_token"); 
    if(!empty($page_info['access_token'])) { 
     $args = array(
      'access_token' => $page_info['access_token'], 
      'scheduled_publish_time' => "1361642425", #an example timestamp 
      'message'  => "test post", 
      'source'  => "@" . "/path/to/photo.jpg", 
      'published' => "0", 

     ); 
     $post_id = $facebook->api("/$album_id/photos","post",$args); 
     #echo $post_id; 
    } else { 
     $permissions = $facebook->api("/me/permissions"); 
     if(!array_key_exists('publish_stream', $permissions['data'][0]) || 
      !array_key_exists('manage_pages', $permissions['data'][0])) { 
      // We don't have one of the permissions 
      // Alert the admin or ask for the permission! 
      header("Location: " . $facebook->getLoginUrl(array("scope" => "publish_stream, manage_pages"))); 
     } 

    } 
    } catch (FacebookApiException $e) { 
    var_dump($e); 
    $user = null; 
    } 
} 

// Login or logout url will be needed depending on current user state. 
if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
    echo '<a href="'.$logoutUrl.'">logout</a>'; 
} else { 
    $loginUrl = $facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream')); 
    echo '<a href="'.$loginUrl.'">login</a>'; 
} 

// ... rest of your code 
?> 

Dieser Code-Beiträge ein Foto auf meiner Facebook-Seite in die Zukunft geplant perfekt, außer wenn der Zeitplan Zeit kommt das Foto passieren wird nicht veröffentlicht. Im Aktivitätsprotokoll bleibt das Foto im Abschnitt "Geplante Beiträge" mit dem Fehler "Sorry, etwas ist schiefgelaufen bei der Veröffentlichung dieses geplanten Beitrags"

Ich vermutete, dass dies auf den Parameter zurückzuführen war: 'published' => "0",

Wenn ich diese Parameter entfernen oder es auf 1 gesetzt, dann wird die Post nicht gemacht und ich erhalte die Fehlermeldung ‚können Sie nicht angeben, eine geplante veröffentlichen Zeit auf einem veröffentlichten Beitrag‘

+2

Stellt sich heraus, wenn ich $ page_id statt $ album_id in '$ post_id = $ facebook-> api ("/$ album_id/fotos "," post ", $ args) verwende;' dann funktioniert es. Ich bekomme immer noch einen Fehler, der besagt, dass es nicht veröffentlicht werden kann, dann etwa eine Stunde später scheint es sowieso zu veröffentlichen .... facebook, du bist komisch .... –

+0

Das gleiche Problem hier, nur dass das Veröffentlichen in einer Stunde kein ist Möglichkeit. In unserem Fall hatten wir einen engen Zeitplan. – jayarjo

+0

Geplante Posts funktionieren nur mit Planungszeiten größer als 10 Minuten. In welchem ​​Zeitrahmen versuchen Sie normalerweise, die Fotos im Voraus zu veröffentlichen? – Tobi

Antwort

3

Planen die Post mit der oben Code, funktioniert perfekt arbeiten mich. Ich habe es gerade 11 Minuten später probiert und den Post eingeplant, und ich erhielt die Benachrichtigung nach 11 Minuten und das Foto wurde auf dem besagten Album veröffentlicht.

Eigentlich ist es ein bisschen ein Facebook Bug.

Gehen Sie einfach zu jedem Beitrag, klicken Sie auf "Reschedule" und passen Sie die Zeit um 15 Minuten (oder wie viel Sie wollen). Aus irgendeinem Grund setzt dies sie einzeln zurück und alles läuft wieder normal ab, die Beiträge werden sich wieder nach Plan aufstellen.

Ich weiß, dass dies eine mühsame Möglichkeit ist, etwas zu beheben, das Facebook selbst beheben sollte, aber es funktioniert.

+0

Ich kann nicht über jeden Beitrag gehen - es gibt Hunderte. – jayarjo