2012-11-08 15 views
9

Ho lottato con l'API del grafico da stamattina.Api grafico: posta sul mio feed di pagine come utente, NON come pagina

Sto tentando di inviare un messaggio alla mia pagina Facebook, ma NON come pagina, come me (utente).

Quando provo a postare sulla pagina di un amico, tutto funziona correttamente e il messaggio viene inviato, ma quando provo a postare sulla mia pagina (sono un amministratore) richiede il permesso di manage_pages, e se do questo permesso pubblicherà solo il messaggio COME la pagina, non come me stesso!

C'è un modo per specificare che: si voglio postare sul muro della mia pagina, sì sono l'amministratore, ma voglio postare come utente?

public function postToWall($pageId, $msg) { 
    if($pageId) { 
     $this->callAPI('/'.$pageId.'/feed', 'POST', array(
      'message' => $msg 
     )); 
    } 
} 

/** 
* @param $path 
* @param string $method default to GET 
* @param array $params additional params 
* @return mixed 
*/ 
public function callAPI($path, $method = 'GET', $params = array()) { 
    $params = array_merge(array('access_token' => $this->getAccessToken()), $params); 
    return $this->api($path, $method, $params); 
} 

Restituisce:

Uncaught OAuthException: (#283) Requires extended permission: manage_pages 

Ho controllato e l'access_token è il mio accesso degli utenti token.

Ho il permesso "publish_stream".

Qualsiasi aiuto sarebbe apprezzato! Grazie

+0

hanno lo stesso problema. sembra che qualche cambiamento di politica ultimamente. è stato possibile – wangii

+1

bugreport archiviato in fb: https://developers.facebook.com/bugs/297250430385258 – wangii

+0

Ho archiviato anche un bug report (ma ho dimenticato di menzionarlo qui) https://developers.facebook.com/bugs/427479617319493 – Olivier

risposta

-2

In docs FB Si può leggere su publish_stream:

"Consente al app per inviare contenuti, commenti, e gli piace flusso di un utente e ai flussi di amici dell'utente."

Quindi questa autorizzazione non può dare alla tua app l'accesso per pubblicare sulla bacheca. Devi utilizzare il permesso "manage_pages". Ecco ulteriori informazioni:

https://developers.facebook.com/docs/reference/login/page-permissions/

+0

Come accennato nel mio post, ho provato a postare sulla pagina di un amico (non sul suo muro, una pagina pubblica che possiede) e ha funzionato bene. Puoi vedere nel documento che publish_stream è usato per pubblicare su una pagina: Questo metodo funziona in due modi. Puoi usarlo per pubblicare: [...] Direttamente sullo stream di un utente o di una pagina, senza chiedere conferma all'utente. Prima che l'applicazione possa pubblicare direttamente nello stream, l'utente o Page deve concedere all'applicazione l'autorizzazione estesa publish_stream. È nella doc per la funzione JS https://developers.facebook.com/docs/fbjs/streamPublish/ (ma il php funziona allo stesso modo) – Olivier

0

prova a richiedere il permesso 'publish_actions'. Assicurati inoltre di utilizzare la pagina come utente non pagina stessa su Facebook.