Pergunta

Estou criando um CMS para um site e quero adicionar funcionalidade para postar algo (por exemplo: notícias) à página FB desse site [não ao perfil de usuário].

Eu li a documentação do FB e consegui descobrir que preciso ter um aplicativo FB, que deve ter acesso a essa página. Em seguida, poderei autenticar no meu site como aplicativo e postar o link na página.

Eu criei a página de amostra e um vazio Aplicação (sem código de trabalho). Então eu adicionado Na página [na página de perfil do aplicativo, há um botão "Adicionar à minha página"]. O aplicativo nunca solicitou nenhuma permissões e, de fato, não sei como posso "forçar" meu aplicativo a solicitar permissões da página ...

Agora, do meu servidor, estou autenticando como aplicativo:

$postArr = Array(
            'grant_type'=>'client_credentials',
            'scope'=>'publish_stream',
            'client_id'=>$appId,
            'client_secret'=>$appSecret
            );
$access_token = CURL_post('https://graph.facebook.com/oauth/access_token',$postArr,true);

Eu recebo um token de acesso e tento postar na parede da página:

$postArr = Array(
            'access_token'=>$access,
            'message'=>"Message!",
            'link'=>'http://egern.net/',
            'name'=>"TITLE",
            'caption'=>"TITLE2!");
$r = CURL_post("https://graph.facebook.com/MYPAGEID/feed",$postArr,true);

Recebo o seguinte erro: (#200) O usuário não autorizou o aplicativo para executar esta ação

Agora não consigo entender: como a página deve autorizar o aplicativo?

Obrigado.

Foi útil?

Solução

Para poder postar na sua página usando a API do gráfico, há algumas etapas para fazer isso:

  1. O administrador da página precisa instalar seu aplicativo com permissão manage_pages, referência. E publish_stream para a etapa 3
  2. Agora consultando o método de contas ->api('/me/accounts?access_token=XXX') Com o access_token que você acabou de obter, recuperará todas
  3. Use a página access_token para publicar suas "notícias" para sua página ->api('/page_id/feed', 'post', $postArr)

Quase as mesmas instruções estão disponíveis aqui.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top