13.4. Zend_Service_Flickr
Anterior | Capítulo 13. Zend_Service | Próxima

## 13.4. Zend_Service_Flickr

### 13.4.1. Introdução às Pesquisas Flickr

`Zend_Service_Flickr` é uma simples API para usar o Flickr REST Web Service. Para poder usar os Flickr web services, você deve possuir uma API key. Para obter uma chave e maiores informações sobre o Flickr REST Web Service, visite a Flickr API Documentation.

No exemplo seguinte, nós usamos o método `tagSearch()` para pesquisar por fotos que tenham o valor "php" nas tags.

Exemplo 13.8. Simples pesquisa por fotos Flickr

    <?php
    require_once 'Zend/Service/Flickr.php';

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $results = $flickr->tagSearch("php");

    foreach ($results as $result) {
        echo $result->title . '<br />';
    }
    ?>

| Nota
`tagSearch()` aceita um array de opções como segundo parâmetro opcional.

### 13.4.2. Localizando Usuários Flickr

`Zend_Service_Flickr` fornece três caminhos variados para obter informações sobre usuários Flickr:

- `userSearch()` : Aceita uma string de busca com tags delimitadas por espaços e um array de opções como segundo parâmetro opcional, retornando um objeto `Zend_Service_Flickr_ResultSet` .
- `getIdByUsername()` : Retorna um user ID associado ao nome de usuário informado.
- `getIdByEmail()` : Retorna um user ID associado ao endereço de email informado.

Exemplo 13.9. Localizando um usuário Flickr pelo endereço de E-Mail

Neste exemplo, nós temos um endereço de email de um usuário do Flickr, e usamos o método `userSearch()` para recuperar informações do usuário:

    <?php
    require_once 'Zend/Service/Flickr.php';

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $results = $flickr->userSearch($userEmail);

    foreach ($results as $result) {
        echo $result->title . '<br />';
    }
    ?>

### 13.4.3. Recuperando Detalhes de Imagens Flickr Image Details

`Zend_Service_Flickr` torna fácil e rápida a recuperação de detalhes de imagens baseada em um dado "image ID". Basta usar o método `getImageDetails()` , como mostrado no exemplo seguinte:

Exemplo 13.10. Recuperando Flickr Image Details

Desde que você conheça o Flickr image ID, recuperar informações sobre a imagem é tarefa simples:

    <?php
    require_once 'Zend/Service/Flickr.php';

    $flickr = new Zend_Service_Flickr('MY_API_KEY');

    $image = $flickr->getImageDetails($imageId);

    echo "Image ID $imageId is $image->width x $image->height pixels.<br />\n";
    echo "<a href=\"$image->clickUri\">Click for Image</a>\n";
    ?>

### 13.4.4. Classes Zend_Service_Flickr

As seguintes classes são todas retornadas por `tagSearch()` e `userSearch()`:

- `Zend_Service_Flickr_ResultSet`

- `Zend_Service_Flickr_Result`

- `Zend_Service_Flickr_Image`

#### 13.4.4.1. Zend_Service_Flickr_ResultSet

Representa um conjunto de resultados de uma pesquisa Flickr.

| Nota
Implemente o `SeekableIterator` para facilitar a iteração (ex: usando `foreach` ), como também o acesso direto a um resultado específico usando `seek()` .

##### 13.4.4.1.1. Propriedades

Tabela 13.10. Propriedades de Zend_Service_Flickr_ResultSet

Nome | Tipo | Descrição
--- | --- | ---
totalResultsAvailable | int | Total de resultados disponível
totalResultsReturned | int | Total de resultados retornados
firstResultPosition | int | O deslocamento deste subconjunto de resultados no conjunto de resultados total

##### 13.4.4.1.2. Zend_Service_Flickr_ResultSet::totalResults()

`int totalResults();`

Retorna o total de resultados deste conjunto de resultados.

Retornar para a Lista de Classes

#### 13.4.4.2. Zend_Service_Flickr_Result

Um simples imagem resultante de uma busca Flickr

##### 13.4.4.2.1. Propriedades

Tabela 13.11. Propriedades de Zend_Service_Flickr_Result

Nome | Tipo | Descrição
--- | --- | ---
id | int | ID da imagem
owner | int | NSID do proprietário da imagem.
secret | string | Uma chave usada na construção da URL.
server | string | O nome do servidor usado na construção da URL.
title | string | O título da foto.
ispublic | boolean | A foto é pública.
isfriend | boolean | A foto é visível para você porque você é amigo do proprietário.
isfamily | boolean | A foto é visível para você porque você é parente do proprietário.
license | string | Licença sob qual a foto foi publicada.
date_upload | string | Data em que a foto foi enviada.
date_taken | string | Data em que a foto foi produzida.
owner_name | string | O nome de tela do proprietário.
icon_server | string | O servidor usado na montagem das URLs dos ícones.
Square | Zend_Service_Flickr_Image | Um slide de 75x75 da imagem.
Thumbnail | Zend_Service_Flickr_Image | Um slide de 100 pixels da imagem.
Small | Zend_Service_Flickr_Image | Um slide de 240 pixels da imagem.
Medium | Zend_Service_Flickr_Image | Um slide de 500 pixels da imagem.
Large | Zend_Service_Flickr_Image | Um slide de 640 pixels da imagem.
Original | Zend_Service_Flickr_Image | A imagem original.

Retornar para a Lista de Classes

#### 13.4.4.3. Zend_Service_Flickr_Image

Representa uma imagem retornada por uma busca Flickr.

##### 13.4.4.3.1. Propriedades

Tabela 13.12. Propriedades de Zend_Service_Flickr_Image

Nome | Tipo | Descrição
--- | --- | ---
uri | string | URI para a imagem original
clickUri | string | URI clicável (ex. a página Flickr) para a imagem
width | int | Largura da imagem
height | int | Altura da imagem

Retornar para a Lista de Classes

Anterior | Acima | Próxima
13.3. Zend_Service_Amazon | Principal | 13.5. Zend_Service_Yahoo