Autenticação de aplicações do Twitter utilizando OAuth

Resumidamente, este exemplo consiste em criar uma aplicação registrada em uma determinada conta no Twitter e utiliza-la através do protocolo OAuth.
Para isso, inicialmente precisaremos criar a aplicação desejada através do link:
http://dev.twitter.com/apps/new

Ao criar a aplicação, vale ressaltar que todos os campos deverão ser preenchidos, inclusive o campo Callback URL.
Em meu caso: http://www.phpblog.com.br/exemplos/oauth_twitter/callback.php

Após criar a aplicação, o twitter gerará uma série de códigos. Precisaremos dos seguntes:
Consumer key
Consumer secret

Vamos aos downloads:

Arquivos: Aqui
Exemplo: Aqui

Após realizar os downloads, vamos ao código:

Arquivo: config.php

define('CONSUMER_KEY', 'colocar_chave_gerada_pelo_twitter');
define('CONSUMER_SECRET', 'colocar_chave_gerada_pelo_twitter');
define('OAUTH_CALLBACK', 'http://localhost/oauth_twitter/callback.php');

Neste arquivo, iremos colocar as chaves geradas pelo Twitteer, inclusive o CALLBACK URL.
Após este passo, vamos ao nosso arquivo principal.

Arquivo: index.php

/* Carregando Classes. */
session_start();
require_once('twitteroauth/twitteroauth.php');
require_once('config.php');
/* Verificando token */
if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) {
header('Location: ./clearsessions.php');
}
/* Capturando token da sessão. */
$access_token = $_SESSION['access_token'];
/* Criando o objeto passando os tokens como parâmentro. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
/* Testando a chamada. */
$content = $connection->get('account/verify_credentials');
//Retorna o timeline completo
$timeline = $connection->get('statuses/user_timeline', array('screen_name' => 'blogphp'));
//Atualizar o status
//$connection->post('statuses/update', array('status' => 'Hello PHPBlog'));
print_r($timeline);

/*Outras Chamadas */
//$connection->get('users/show', array('screen_name' => 'abraham')));
//$connection->post('statuses/update', array('status' => date(DATE_RFC822)));
//$connection->post('statuses/destroy', array('id' => 5437877770));
//$connection->post('friendships/create', array('id' => 9436992)));
//$connection->post('friendships/destroy', array('id' => 9436992)));

Pronto.
Este arquivo contém as chamadas que podemos fazer utilizando a nossa classe.

Até Mais (:

Share Button