2012-02-20 18 views
5

Voglio postare una pagina Facebook come pagina usando PHP. Ho access_token sotto i collegamenti.Mettere su Facebook pagina parete come pagina

https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=123456789&redirect_uri=http%3A%2F%2Fmysite.net&scope=publish_stream,manage_pages,offline_access 
https://graph.facebook.com/me/accounts?access_token=... 

Sto usando questo semplice codice:

$appid  = ""; 
$secret  = ""; 
$pageid  = ""; 
$access_token = ""; 

require_once("facebook-php-sdk/src/facebook.php"); 

$facebook = new Facebook(array(
    'appId' => $appid, 
    'secret' => $secret 
)); 

try { 
    $args = array(
     'access_token' => $access_token, 
     'message'  => 'Test', 
     'link'   => 'http://www.test.com', 
     'description' => 'Test' 
    ); 

    $post_id = $facebook->api("/$pageid/feed","post",$args); 

} catch (FacebookApiException $e) { 
    error_log($e); 
} 

E questo è l'errore che sto ricevendo:

OAuthException: (#200) Posts where the actor is a page cannot also include a target_id 

Ma posting/mi/mangimi non funzionerà nessuno dei due. Tutte le soluzioni che ho cercato su Google non funzionano più, la documentazione ufficiale non ha aiutato. Ho funzionato durante la pubblicazione come utente (non una pagina) e con javascript api (richiesta azione di condivisione 'condivisione' da un utente).

Qualcuno conosce la soluzione per il post automatico su una pagina fb come pagina? coppia ha trascorso dei giorni frustrante cercare di capirlo -_-

Grazie,

A.

+0

Il codice PHP è buono, ma ho sbagliato access_token. Ho ottenuto quello corretto con un'applicazione diversa (semplice collegamento a Facebook - un plugin per wordpress). Non ho tempo per giocare con ottenere access_token corretto:/ – akashic

risposta

5

pagine non possono inviare alle pareti degli utenti (è per questo che stai ricevendo il OAuthException che dice "come una pagina , non puoi impostare il target_id "). Dovrai prima creare un'applicazione e ottenere il permesso dell'utente (publish_stream) di postare nel loro feed tramite detta app.

+1

Grazie per la risposta. Sto provando a postare sul muro della pagina (quindi/$ pageid/feed e $ access_token). Ho già creato un'applicazione (imposta i permessi). Daremo un'occhiata più da vicino a stream.publish domani. – akashic

+0

Ok, ho trovato un po 'di tempo. Come scritto nel mio primo post, la mia applicazione ha già diritti publish_stream (2a riga). Sono riuscito a pubblicare tramite stream.publish ma siccome l'API REST è deprecata, proverò a farlo con Opengraph. – akashic

3

Presumo che tu abbia una certa conoscenza di app e di come funzionano i post.

1.You hanno per ottenere l'accesso Pagina token di e utilizzare questo su array.

2.you uso questo

"/$pageid/feed" 

uso provare questo

$facebook->api($pageID . '/feed','POST' 

Grazie ...

+0

Se guardate il mio post, vedrete che 1) ho già un token di accesso e 2) chiedo l'API da $ facebook-> api ("/ $ pageid/feed", "post", $ args); – akashic

+0

@akashic prova a separare il $ pageid –

+0

@akashic controlla questo link relativo allo stesso problema http://jorgealbaladejo.com/2011/06/13/publish-to-facebook-page-or-applications-wall-with- php / –

2

Ho avuto lo stesso problema. Il motivo era che ero un amministratore di più di una pagina e ho provato a pubblicare con il token di un'altra pagina.

Problemi correlati