Webservices com Zend Framework parte III

Posted on janeiro 12, 2012. Filed under: PHP, Zend Framework | Tags:, , |

Introdução

Na primeira e segunda parte abordamos a criação e utilização de webservices SOAP e REST. Nesta terceira e final parte vamos conhecer alguns componentes do Zend Framework que funcionam como APIs para diversos serviços em torno da Internet. A comunicação entre esses serviços são realizadas através de webservices utilizando os protocolos SOAP e REST. O Zend Framework mais uma vez facilitou nossa vida encapsulando diversas funcionalidades dentro dessas classes de serviços para minimizar nosso esforço.

A lista de serviços disponíveis pelo Zend Framework pode ser obtida no link abaixo:
http://framework.zend.com/manual/en/zend.service.html

Gostaria de destacar alguns: Amazom, Yahoo, Twitter, Windows Azure, Flickr, SlideShare, Delicious.

Criei dois exemplos para utilização desses serviços à partir do Zend Framework, usando o Twitter e o Delicious.

Zend_Service_Twitter

Criamos abaixo uma aplicação que conecta no twitter com sua conta e realiza algumas operações. A primeira operação irá listar os 20 posts mais recentes dos seus amigos e a segunda operação irá listar os 20 posts mais recentes postados por você.

Para saber mais operações que você pode realizar junto com o Zend Framework, acessar o link: (existem várias)
http://framework.zend.com/manual/en/zend.service.twitter.html

Para poder criar uma aplicação externa que acessa o twitter você também precisa criar um app no site do twitter para desenvolvedor. Mais especificamente no link:
https://dev.twitter.com/apps/new

Após criar sua app no twitter, será necessário obter tokens e chaves para inserir na lib do Zend Framework. Substitua no código abaixo os tokens e chaves correspondentes conforme mencionado.

<?php

/* incluir bibliotecas */
require_once("Zend/Service/Twitter.php");

/* credenciais */
$access = new Zend_Oauth_Token_Access();
$access->setToken('<Accees Token>')->setTokenSecret('<Access token secret>');

$params = array(
        'accessToken' => $access,
        'consumerKey' => '<Consumer key>',
        'consumerSecret' => '<Consumer secret>'
);
$twitter = new Zend_Service_Twitter($params);

/* retorna os 20 status mais recentes postados por seus amigos */
$response = $twitter->status->friendsTimeline();
foreach($response as $info) {
        echo "<h4>{$info->user->name}</h4>";
        echo "<p>{$info->text}</p>";
}

/* retorna os 20 status mais recentes postados por voce */
$response = $twitter->status->userTimeLine();
foreach($response as $info) {
        echo "<h4>{$info->user->name}</h4>";
        echo "<p>{$info->text}</p>";
}

Zend_Service_Delicious

Para quem não conhece, o Delicious é um site que proporciona você encontrar sites interessantes (bookmarks de outros usuários) e também compartilhar seus próprios sites favoritos. Além de poder integrar o Delicious em seu navegador, você também pode criar aplicações via Webservice para manipular as opções que o Delicious oferece.

O Zend Framework disponibiliza uma API de comunicação com o Delicious simples e de fácil manuseio. Antes de mais nada faça seu cadastro no site (veja link acima). Após realizar o cadastro você já pode criar suas próprias aplicações para o Delicious. Abaixo temos uma aplicação que obtem todos bookmarks do seu usuário, filtrando aqueles que possuem a tag “php”, e exibe a saída na tela, informando o título e o link do site que consta no seu favorito.

Para obter mais informação sobre as operações que pode realizar com essa API acesse a documentação do Zend Framework:
http://framework.zend.com/manual/en/zend.service.delicious.html

Segue Exemplo:

<?php

/* incluir bibliotecas */
require_once("Zend/Service/Delicious.php");

/* credenciais */
$delicious = new Zend_Service_Delicious('usuario', 'senha');

/* todos posta */
$posts = $delicious->getAllPosts();

/* filtrar somente aqueles posts que possuem tag php */
foreach ($posts->withTags(array('php')) as $post) {
    echo "<h3>{$post->getTitle()}</h3>";
    echo "<a href=\"{$post->getUrl()}\">{$post->getUrl()}</a>";
}

Saída na tela da execução do script anterior, informando o título e o link para cada registro inserido no seu favoritos do Delicious com a tag php:

Conclusão

O Zend Framework fornece vários outras APIs de comunicação com diversos sites. O objetivo desse artigo foi deixar você a par da existencia dessas APIs e mostrar algumas implementações simples que podem ser realizadas.

Make a Comment

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Liked it here?
Why not try sites on the blogroll...

%d blogueiros gostam disto: