2013-02-23 22 views
5

Ciao sto usando facebook php sdk per creare post sulla mia fanpage. Sto tentando di pianificare questi post per il futuro. Comunque sto incontrando dei problemi. Qui è il mio codiceI post programmati tramite Graph API spesso non vengono pubblicati

<?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 
?> 

Questo codice messaggi una foto alla mia pagina facebook in programma nel futuro perfettamente, tranne quando arriva il tempo di programma di passare la foto non viene pubblicato. Nel registro delle attività la foto rimane nella sezione "post programmati" con l'errore "Spiacente, qualcosa è andato storto pubblicando questo post pianificato"

Ho il sospetto che questo fosse dovuto al parametro: "pubblicato" => "0",

Se rimuovo questo parametro o impostato a 1, allora il post non è fatta a tutti e ottengo l'errore 'non è possibile specificare un orario programmato pubblicare su un post pubblicato'

+2

Risulta se uso $ page_id invece di $ album_id in '$ post_id = $ facebook-> api ("/ $ album_id/foto", "post", $ args);' allora sorta di opere. Ricevo ancora un errore dicendo che non poteva pubblicare, poi circa un'ora dopo sembra pubblicare comunque ... facebook, sei strano .... –

+0

Lo stesso problema qui, tranne che la pubblicazione in un'ora non è un opzione. Abbiamo un programma stretto nel nostro caso. – jayarjo

+0

I messaggi pianificati funzionano solo con tempi di pianificazione superiori a 10 minuti. Quindi quali sono i tempi in cui di solito stai cercando di pubblicare le foto in anticipo? – Tobi

risposta

3

Pianificazione il palo con quanto sopra codice, funziona perfettamente lavoro me. Ho appena provato e programmato il post con 11 minuti più tardi e ho ricevuto la notifica dopo 11 minuti e la foto è stata pubblicata sul suddetto album.

In realtà la sua Some Kinda facebook bug.

Basta accedere a ciascun post, fare clic su "Pianificazione" e regolare l'ora di 15 minuti (o quanto si desidera). Per qualche ragione questo li ripristina individualmente e tutto torna alla normalità, i post si ripeteranno ancora una volta secondo il programma.

So che questo è un modo noioso per riparare qualcosa che Facebook dovrebbe riparare da soli, ma funziona.

+0

non posso andare oltre ogni post - ci sono centinaia. – jayarjo

Problemi correlati