March 17th, 2008

Usando Twitter desde CakePHP

Hace unos días empecé a construir un “componente” para conectar CakePHP con el API de Twitter. Tengo lista una primera versión (alpha) con algunas de las funcionalidades implementadas. Todavia quedan cosas por mejorar, como el manejo automático de errores, pero más de vale Release Early, Release Often[1], que echar a dormir el código.

Pueden descargarlo desde aqui: cakephp_twitter-v0.1alpha.zip (4Kb)

Documentación (:P)

La forma de uso es la siguiente. Si lo queremos usar desde un controlador:

1
var $uses = array("Twitter");

Y en la acción correspondiente:

1
$this->Twitter->metodo([parámetros], [autenticación]);

Si quisieran usarlo desde un modelo, lo mejor sería hacer:

1
2
3
App::import('model','Twitter');
$twitter = new Twitter();
$twitter->metodo([parámetros], [autenticación]);

No todos los métodos que el API soporta están implementados, en Twitter::$_methods pueden ver los que se implementaron, sus parametros y los valores por defecto. Los parámetros están definidos con los mismos nombre que en el API de Twitter

El parámetro parámetros, es un array con los parametros necesarios para la invocación.

El parámetro autenticación solo es necesario en los casos en que el método lo requiera. En la definición de cada método hay un atributo authentication que indica si es requerida. Este parametro es un array(’user’ => $user, ‘pass’ => $password), pero para mayor facilidad pueden construirlo usando cualquiera de los siguientes dos métodos:

  1. Twitter::createAuthentication($user, $password)
  2. Twitter::setAuthentication($user, $password)

Ejemplos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Get the public timeline
$response = $this->Twitter->getPublicTimeline(); 
 
 
// Update an user status
$this->Twitter->setAuthentication($user, $pass);
$response = $this->Twitter->updateStatus(
	array("status"=>"My new Status")
);
 
 
// Create a friend
$response = $this->Twitter->createFriend(
	array(
		"id"=>"newfriend"
	), 
	$this->Twitter->createAuthentication(
		$user, 
		$pass
	)
);

Actualización: Está probado con la versión más reciente de CakePHP (1.2.0.6589) y en PHP 5, probablemente en PHP 4 no funciona porque usa json_decode (no incluido)

Tags: , , ,

No Comments Add your own

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(required)

(required)

About

Mi nombre es Pablo Viojo y tengo 26 años. Nací en el Uruguay el 7 de agosto de 1981. Actualmente vivo en Santiago, Chile

Aparte de esto me interesa todo lo que tenga que ver con Internet y las nuevas tecnologías. Más info aquí, mi hCard, en formato FOAF

View Pablo Viojo's profile on LinkedIn



Recent Comments

Pages

Feeds

Posts by tags

Posts by month