Conheça a ferramenta de busca - Busca PHP. Ela faz uma pesquisa nos sites mais importantes sobre a linguagem, e trará pra você resultados exepcionais!! Estamos customizando o serviço ainda, que você pode conferir no menu a direita....
 

Pesquisar

Login






Esqueceu sua senha?
Acessando sua ListMania! por webservices Imprimir
Por Ricardo Maia   
28 de dezembro de 2006

Desta vez venho trazer um simples exemplo de como utilizar o suporte a SOAP nativo do PHP5 para consultar o webservices da Amazon.com e com isso acessar sua ListMania! A motivação veio do desejo de publicar minha recomendação de livros neste site.

Cheguei a fazer um banco de dados próprio, mas vi o quanto seria trabalhoso alimentar toda essa base de dados. Já sabia que a Amazon mantinha um webservice muito bacana e quando descobri o serviço chamado ListMania!, vi que era o que eu precisava para oferecer uma lista personalizada dos livros que eu recomendo.

ListMania! é um serviço disponibilizado pela Amazon onde um cliente pode agrupar até 40 itens e publicá-los utilizando título, tags, comentários pessoais etc. Criei uma lista contendo livros sobre PHP e uma outra listra sobre livros de apoio no desenvolvimento web. 

Você pode ver o resultado deste trabalho no item de menu "Livros".  Adiante estarei explicando como fazer por você mesmo um cliente SOAP e como configurá-lo para acessar este webservice.

Você precisa de um ID de Acesso para os webservices da Amazon.com

Se ainda não tem um cadastre-se no link abaixo:
https://aws-portal.amazon.com/gp/aws/developer/registration/index.html/

Precisará também criar uma ListMania
http://www.amazon.com/gp/richpub/listmania/createpipeline/

Quando você tiver criado uma, verifique na sua lista de ListMania a URL.
Você deverá ver algo como:
http://www.amazon.com/Livros-PHP-INSPHPIRED-COM/lm/RZCY70DTYKD0F/ ref=cm_lm_byauthor_title_full/002-0212624-3943259

Repare no código em negrito! Este é o ID de sua lista.

O código abaixo está bem comentado e acredito que dispensa informações adicionais Tongue out:

<?php
//inicia um novo cliente SOAP (requer PHP5)
$cliente = new SoapClient("http://soap.amazon.com/schemas2/AmazonWebServices.wsdl");
 
//array de parametros que serão passados na consulta ao servidor SOAP.
$parametros_listmania = array(
        'lm_id'    => 'RZCY70DTYKD0F', //id da lista no ListMania
        'devtag'      => 'SEU_CODIGO_ACESSO', //id de desenvolvedor 
        'page'        => '1',
        'type'        => 'heavy', //nivel de detalhe. valores possíveis são: lite | heavy
        'tag'          => '' //seria o id de cliente na Amazon. Até onde testei foi desnecesário informar valor.
      );
 
//chamado ao método ListManiaSearchRequest. Os demais métodos podem ser verificados no arquivo WSDL.
$resultado_lm = $cliente->ListManiaSearchRequest($parametros_listmania);
 
//para verificar todas as informações retornadas pelo servidor descomente as próximas 03 linhas abaixo.
//print "<pre>";
//print_r($resultado_lm->Details);
//print "</pre>";
 
//percorre o array Details retornado no envelope SOAP. 
foreach ($resultado_lm->Details as $livro){
 
    echo "<a href=\"".$livro->Url."\" target=\"_blank\"><h3>".$livro->ProductName ."</h3></a>";
    echo "<table><tr>";
    echo "<td><a href=\"".$livro->Url."\" target=\"_blank\"><img src=\"".$livro->ImageUrlMedium."\"  border=\"0\"></a><br> Publica&ccedil;&atilde;o:<strong> ".$livro->ReleaseDate." </strong> <br> ".$livro->Manufacturer."<td>";
    echo "<tr><td>Avalica&ccedil;&atilde;o: ".$livro->Reviews->AvgCustomerRating."</td></tr>";
    echo "</tr></table>";
    echo "<hr align=\"center\">";
} 
/*
 * Abaixo um trecho do arquivo WSDL onde você pode ver outras chaves do array Details
 * 
<xsd:complexType name="Details">
                <xsd:all>
                    <xsd:element name="Url" type="xsd:string" minOccurs="0"/>
                    <xsd:element name="Asin" type="xsd:string" minOccurs="0"/>
                    <xsd:element name="ProductName" type="xsd:string" minOccurs="0"/>
                    <xsd:element name="Catalog" type="xsd:string" minOccurs="0"/>
                    <xsd:element name="KeyPhrases" type="typens:KeyPhraseArray" minOccurs="0"/>
                    <xsd:element name="Artists" type="typens:ArtistArray" minOccurs="0"/>
                    <xsd:element name="Authors" type="typens:AuthorArray" minOccurs="0"/>
                    <xsd:element name="Mpn" type="xsd:string" minOccurs="0"/>
                    <xsd:element name="Starring" type="typens:StarringArray" minOccurs="0"/>
                    <xsd:element name="Directors" type="typens:DirectorArray" minOccurs="0"/>
                    <xsd:element name="TheatricalReleaseDate" type="xsd:string" minOccurs="0"/>
                    <xsd:element name="ReleaseDate" type="xsd:string" minOccurs="0"/>
                    .
                    .
                    .
*/
 
?>
 



Gostou do artigo? Então compartilhe!
Digg!Reddit!Del.icio.us!Google!Technorati!StumbleUpon!Add this social bookmarking functionality to your website! title=
Última Atualização ( 01 de agosto de 2007 )
 

Itens Relacionados





Add to Technorati Favorites

Feed