Arquivo da tag: Facebook Open Graph API

Configurando um site MediaWiki para utilizar o Facebook Comments

Você é um usuário do sistema Open Source mediaWiki? Algum dia já pensou em adicionar a plataforma de comentários do Facebook em seus artigos? Se a resposta é sim, você provavelmente já se deparou com alguns problemas típicos da instalação deste plugin no mediaWiki. O objetivo deste artigo é fornecer um passo-a-passo para que você configure esta incrível ferramenta sem perder tempo!

A instalação do Facebook Comments deve ser feita em 4 etapas:

  • Instalação do Código do Plugin fornecido pelo Facebook;
  • Obtenção do Facebook App ID;
  • Obtenção do ID de usuário do Facebook;
  • Instalação dos META TAGS, que lhe permitirão administrar os comentários, inclusive adicionando moderação.

Passo 01 – Instalação do Código do Plugin fornecido pelo Facebook

Visite o site http://developers.facebook.com/docs/reference/plugins/comments/, configure o plugin de acordo com as opções desejadas e clique sobre o botão “Get Code”. Estes dados deverão ser colados no Skin utilizado por sua instalação do mediaWiki. Se você não sabe qual o skin está utilizando, visite o post “Como descobrir qual skin a instalação do mediaWiki está utilizando?“. Edite o arquivo nomedoskin.php (no meu caso vector.php) que se encontra na pasta /skins. localize dentro do arquivo o seguinte código:

<?php $this->html( 'bodytext' ); ?>

Abaixo desta linha, adicione o seguinte código (Este é o mesmo código fornecido pelo facebook, com algumas modificações):

  <script type="text/javascript">// <![CDATA[
  (function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement(s); js.id = id;
    js.src = "//connect.facebook.net/pt_BR/all.js#xfbml=1&appId=247261365335953";
    fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
  // ]]>
  </script>
  <h2>
  <span class="mw-headline" id="Comentários">Comentários</span>
  </h2>
  <div class="fb-comments" data-href="<?php echo $lstr_URL; ?>" data-num-posts="4" data-width="600"></div>

Observe que a variável adicionada $lstr_URL contém o endereço da URL que usuário está utilizando. Este código foi adicionado para que cada página possa ter o seu próprio botão Like. Para saber como obter o endereço da URL que o usuário está abrindo visite o post “Como descobrir a URL do script que está sendo executado, utilizando PHP?

Pronto!

Passo 02 – Obtenção do Facebook APP ID

Para obter o seu APP ID, cadastre-se em https://developers.facebook.com/apps

Passo 03 – Obtenção do ID de usuário do Facebook;

Você pode descobrir seu ID, visitando o post “Como descobrir o ID do meu usuário do Facebook?

Passo 04 – Instalação dos Meta Tags

Esta é a parte mais complicada, pois as extensões do mediaWiki disponíveis adicionam apenas meta tags com o comando NAME e não com o comando PROPERTY exigido pelo Facebook. Assim, tive que customizar uma extensão chamada AddMetas (desenvolvida por Luis diaz), para que ela adiciona as Meta tags aceitas pela API do Facebook. Assim surgiu o código:

<?php

if( !defined( 'MEDIAWIKI' ) ) {
    echo( "This file is an extension to the MediaWiki software and cannot be used standalone.n" );
    die( 1 );
}
 
$wgExtensionCredits['other'][] = array( 
    'name' => 'AddFacebookCommentsMetas', 
    'status' => 'experimental',
    'author' => 'Paulo A. Costa (Based on work of Luiz Dias - AddMetas)',
    'version' => '0.1',
    'url' => 'http://www.pauloacosta.com/blog',
    'description' => 'Add required Facebook comments Meta Properties.',
);
 
$wgHooks['OutputPageBeforeHTML'][] = 'wfAddMetas';
 
function wfAddMetas( &$out, &$text ) {
  global $wgTitle, $wgParser, $wgRequest, $action;
  if(
          $action !== 'edit'
       && $action !== 'history'
       && $action !== 'delete'
       && $action !== 'watch'
       && strpos( $wgParser->mTitle->mPrefixedText, 'Special:' ) === false
       && $wgParser->mTitle->mNamespace !== 8
  )
  {
    $name = $wgTitle->getPrefixedDBKey();
 
    $out->addHeadItem("meta:property:"."fb:admins", Html::element( 'meta', array( 'property' => "fb:admins", 'content' => 'FACEBOOK_USER_ID') ) );	 
    $out->addHeadItem("meta:property:"."fb:app_id", Html::element( 'meta', array( 'property' => "fb:app_id", 'content' => 'FACEBOOK_APP_ID') ) );
	        
  }
  return true;
}
?>

Salve o código acima (sem esquecer de substituir os valores para FACEBOOK_USER_ID, FACEBOOK_APP_ID – Obtidos nos passos anteriores) no arquivo /extensions/addMetaTags/addMetaTags.php, e adicione o código abaixo no /LocalSettings.php

# Extension: addMetaTags
require_once( "$IP/extensions/addMetaTags/addMetaTags.php" );

Salve!

O trabalho foi finalizado, e você já pode visualizar o artigo em seu site mediaWiki contendo uma área de comentários. Além disso, você também poderá moderar os comentários que seus visitantes deixam antes de que os outros visitantes leiam, para isso visite o endereço http://developers.facebook.com/tools/comments

Como descobrir o ID do meu usuário do Facebook?

Uma vez que você tenha optado por utilizar uma URL customizada para seu perfil de usuário no Facebook (http://facebook.com/seunome), descobrir seu código de usuário passa a ser uma tarefa difícil. Muitas soluções podem ser encontradas no google, porém, após algumas modificações da rede social, estas soluções na maioria das vezes deixaram de funcionar.

Um solução permante, porém,  é utilizar o  Facebook Open Graph API para descobrir o código do usuário que você deseja. Em seu navegador tente acessar a URL: http://graph.facebook.com/seunome. Será retornado dados no formato JSON contendo diversas informações sobre o usuário, incluindo o ID!