Facebook php sdk, postando mensagens no mural do usuário

Introdução

Já mostramos em artigo anterior como publicar (upload) e marcar fotos na linha do tempo dos usuários. Neste artigo, vamos mostrar algo mais simples. Como postar mensagens simples na linha de tempo do usuário. Não iremos fazer o upload de fotos, será simples publicação de textos no feed de notícias, podendo linkar imagens e vídeos externos. É um método bem parecido com o visto anteriormente, porém com algumas pequenas diferenças.

Um dos pré-requisitos é que você já tenha criado uma app no facebook. Mais detalhes, acesso o meu outro artigo, Criando Aplicativos Para Facebook Usando SDK Do PHP

Para que sua app possa postar mensagens na linha de tempo do usuário, você deve solicitar a permissão publish_actions.

Solicitando permissão publish_actions.

// solicita permissao publish_actions
$loginUrl = $facebook->getLoginUrl(array("scope" => "publish_actions"));
header("Location: $loginUrl");

Post simples no feed de notícias

Vamos demonstrar abaixo a forma mais simples de publicação no mural através de app. Os principais campos são message, name e link.

$facebook->api("/me/feed", "post", array(
          'message' => "Site para desenvolvedores da linguagem PHP",
          'name' => "Site Oficial do PHP",
          'link' => "http://www.php.net",
));

Descrição dos campos

  • link: Link anexado na publicação
  • name: Nome do link
  • message: A mensagem contida na publicação

Veja o resultado comentado:

Linkando uma imagem no post

Veja que no post anterior não parametrizamos nenhuma imagem. O próprio mecanismo de post do facebook escolheu uma imagem “relevante” contida no link informado no post. Porém, através da lib do sdk, podemos determinar qual vai ser a imagem anexada no post. Para isso, informamos o campo picture.

Veja código abaixo:

 $facebook->api("/me/feed", "post", array(
           'message' => "Site para desenvolvedores da linguagem PHP",
           'name' => "Site Oficial do PHP",
           'link' => "http://www.php.net",
           'picture' => "http://www.exemploteste.com.br/elefante-php.png",
));

A única diferença aqui é o campo picture que foi adicionado. Ele informa qual será o link para uma imagem anexada no post. Vale atentar aqui, que a imagem não será publicada no perfil do usuário do facebook. Ela não será incluída dentro de nenhum álbum do usuário, como já vimos no artigo anterior, Manipulando fotos no facebook com sdk para php. Será incluído apenas um link para uma imagem externa, acessível através de uma URL.

Veja abaixo o print da postagem:

Veja que agora definimos a imagem que será exibida junto com a postagem. Diferente do post anterior que o próprio mecanismo do facebook escolheu uma imagem para ser anexada.

Linkando um vídeo no post

Veremos agora, como incorporar na postagem, um link para vídeo. No caso é um link para um vídeo no youtube: PHP Tutorial #1. Para tal, devemos usar o parâmetro source. Vamos trocar o campo picture do exemplo anterior pelo campo source.

$facebook->api("/me/feed", "post", array(
          'message' => "Tutorial básico de PHP no Youtube",
          'name' => "Video Aula de PHP",
          'link' => "http://www.youtube.com/watch?v=Txj4mj5yom0",
          'source' => "http://www.youtube.com/e/Txj4mj5yom0",
          'caption' => "www.youtube.com",
));

Veja que no código acima, informamos o parâmetro source que deve ser um link direto para o vídeo. Esse video poderá ser assistido dentro do próprio facebook. A URL definida no parâmetro link será aberta em uma nova janela quando você clicar no link da postagem. Nesse caso será aberto a página do youtube referente à vídeo aula.

Veja abaixo o print da postagem:

Perceba também, nessa última postagem, que usamos um novo parâmetro chamado caption. É o caption do link exibido logo abaixo do nome (campo name) da postagem. Ao invés de exibir o link www.youtube.com/watch?v=Txj4mj5yom0, será exibido somente www.youtube.com

Verificando Permissões

Antes de realizar a postagem no feed do usuário é aconselhado verificar se o usuário realmente aceitou a permissão publish_actions. Uma vez que o usuário pode não ter aceito a permissão ou tê-la revogado em algum momento. O código abaixo pode ser usado para fazer essa validação:

// verificar permissao
$permissions = $facebook->api("/me/permissions");

foreach($permissions['data'] as $perm) {
    if($perm['status'] == 'granted' 
       && $perm['permission'] == 'publish_actions') {
        // pode publicar
    }   
}

Referência
Para mais opções referente a postagem de mensagens no facebook, acesse a documentação oficial: http://developers.facebook.com/docs/reference/api/post/

Please follow and like us:

Comments

  1. By Rafael

  2. By Talles Carrelo

    • mm By pasquati

  3. By Adriano

    • mm By pasquati

  4. By Luiz Fernando

    • mm By pasquati

  5. By Denis

    • mm By pasquati

  6. By Roni

    • mm By pasquati

    • mm By pasquati

  7. By Alex

    • mm By pasquati

      • By Alex

        • mm By pasquati

          • By Alex

  8. By Carlos

    • mm By Douglas V. Pasqua

      • By Carlos

        • mm By Douglas V. Pasqua

          • By Carlos

    • mm By Douglas V. Pasqua

  9. By Linyker

  10. By Daniel de Oliveira

    • mm By Douglas V. Pasqua

      • mm By Douglas V. Pasqua

  11. mm By Douglas V. Pasqua

  12. By Ricardo

  13. By eder

    • mm By Douglas V. Pasqua

  14. By Pedro

  15. By Dam

  16. By andre

    • mm By Douglas V. Pasqua

  17. By Renato Gonçalves

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: