/Youtube-Lib

Biblioteca criada para o melhor funcionamento do parser de dados retirados do Youtube.

Primary LanguagePHPMIT LicenseMIT

Youtube-Lib

Autor: Pedro Marcelo de Sá Alves
E-mail: pedromarcelodesaalves@gmail.com
Data de criação: 14 de maio de 2014
Última atualização: 19 de junho de 2014
Versão atual: 1.13.1

Biblioteca criada para o melhor funcionamento do parser de dados retirados do Youtube.

Variáveis presentes

Variável Função Métodos de acesso Valores
v Especifica a versão da API que o YouTube deve usar para manipular a solicitação da API.
  • setV(param)
  • getV()
1, 2
author Restringe a pesquisa a vídeos enviados por um usuário específico do YouTube.
  • setAuthor(param)
  • getAuthor()
Strings
max-results Especifica o número máximo de resultados que deve ser incluído no conjunto de resultados.
  • setMaxResults(param)
  • getMaxResults()
Int
strict Pode ser usado para instruir o YouTube a rejeitar uma solicitação da API se ela tiver parâmetros de solicitação inválidos.
  • setStrict(param)
  • getStrict()
true (default), false
start-index Especifica o índice do primeiro resultado encontrado que deve ser incluído no conjunto de resultados.
  • setStartIndex(param)
  • getStartIndex()
Int
alt Especifica o formato do feed a ser retornado.
  • setAlt(param)
  • getAlt()
atom, rss, json, json-in-script
callback Identifica a função de retorno de chamada para a qual a resposta à API será enviada. OBS: usado somente quando o parâmetro alt for json-in-script.
  • setCallback(param)
  • getCallback()
Strings
category Permite recuperar vídeos que estão em uma categoria específica ou que estão marcados com uma determinada palavra-chave ou tag de desenvolvedor.
  • setCategory(param)
  • getCategory()
Strings
client Uma string alfanumérica que identifica o seu aplicativo. O parâmetro client é um meio alternativo de especificar o seu ID de cliente.
  • setClient(param)
  • getClient()
Strings
format Especifica que os vídeos devem estar disponíveis em um formato de vídeo específico.
  • setFormat(param)
  • getFormat()
Strings
key Especifica a chave do desenvolvedor, uma string alfanumérica que identifica o desenvolvedor ou a empresa que faz uma solicitação à API.
  • setKey(param)
  • getKey()
Strings
location Restringe a pesquisa a vídeos que têm um local geográfico especificado nos seus metadados.
  • setLocation(param)
  • getLocation()
Strings ('latitude,longitude')
location-radius Define uma área geográfica, juntamente com o parâmetro location.
  • setLocationRadius(param)
  • getLocationRadius()
Strings
lr Restringe a pesquisa aos vídeos que possuem um título, uma descrição ou palavras-chave em um idioma específico.
  • setLr(param)
  • getLr()
Strings ( códigos de idioma formados por duas letras e definidos pela ISO 639-1 )
orderby Especifica o valor que será usado para ordenar os vídeos no conjunto de resultados da pesquisa.
  • setOrderby(param)
  • getOrderby()
relevance, published, viewCount e rating
q Especifica um termo de consulta de pesquisa. O YouTube pesquisará todos os metadados dos vídeos que corresponderem ao termo.
  • setQ(param)
  • getQ()
Strings

Fonte: YouTube API v2.0 – API Query Parameters

Exemplos

Código

$youtube = new Youtube();

$youtube->setAuthor('darksk8erbmx');
$youtube->setMaxResults(4);
$youtube->setStartIndex(2);

print_r($youtube->getVideos());

Saída

Array
(
    [0] => Array
        (
            [id] => 3t3Uiq_myEU
            [author] => Pedro Marcelo
            [published] => 2012-07-13T01:31:07.000Z
            [updated] => 2012-12-28T11:08:26.000Z
            [title] => Dragon Nest - xDNNx vs LSjow - Swordmaster vs Mercenario - Parte 1
            [thumbnail] => http://i.ytimg.com/vi/3t3Uiq_myEU/hqdefault.jpg
            [description] => Pvp basico da volta de LSjow (enferrujado)
            [category] => Array
                (
                    [name] => Games
                    [label] => Gaming
                )

        )

    [1] => Array
        (
            [id] => IvvuZsY71u4
            [author] => Pedro Marcelo
            [published] => 2013-08-18T13:32:49.000Z
            [updated] => 2014-01-05T09:58:08.000Z
            [title] => Assassin level 11 Dragon Nest
            [thumbnail] => http://i.ytimg.com/vi/IvvuZsY71u4/hqdefault.jpg
            [description] => 
            [category] => Array
                (
                    [name] => Games
                    [label] => Gaming
                )

        )

    [2] => Array
        (
            [id] => ANxrUvnKGHM
            [author] => Pedro Marcelo
            [published] => 2009-10-13T18:25:41.000Z
            [updated] => 2013-11-19T20:28:41.000Z
            [title] => Baldurs Gate Dark Alliance - By Pedro Dark
            [thumbnail] => http://i.ytimg.com/vi/ANxrUvnKGHM/hqdefault.jpg
            [description] => Chars do jogo, builds utilizadas e teste de build.
            [category] => Array
                (
                    [name] => Games
                    [label] => Gaming
                )

        )

    [3] => Array
        (
            [id] => CPTrBzssPDU
            [author] => Pedro Marcelo
            [published] => 2012-10-06T22:24:36.000Z
            [updated] => 2012-10-06T22:45:13.000Z
            [title] => xDNNx - Manticore Nest (Solo)
            [thumbnail] => http://i.ytimg.com/vi/CPTrBzssPDU/hqdefault.jpg
            [description] => 
            [category] => Array
                (
                    [name] => Games
                    [label] => Gaming
                )

        )

)

Código

$youtube = new Youtube();

$video = $youtube->getVideoById('3t3Uiq_myEU');

print_r($video);

Saída

Array
(
    [id] => 3t3Uiq_myEU
    [author] => Pedro Marcelo
    [published] => 2012-07-13T01:31:07.000Z
    [updated] => 2012-12-28T11:08:26.000Z
    [title] => Dragon Nest - xDNNx vs LSjow - Swordmaster vs Mercenario - Parte 1
    [thumbnail] => http://i.ytimg.com/vi/3t3Uiq_myEU/hqdefault.jpg
    [description] => Pvp basico da volta de LSjow (enferrujado)
    [category] => Array
        (
            [name] => Games
            [label] => Gaming
        )

)

Log de mudanças

  • 1.13.1

    • Adicionando url para canais. Corrigindo métodos getUrl() e buildArrayQuery() para receber a nova url
  • 1.12.4

    • Método escapeQuery adicionado para adição de códigos de escape
    • Adicionando validação aos métodos de acesso
  • 1.10.1

    • Parser dos dados em JSON completo: método getVideosJson
    • Retirando as variáveis $query dos métodos de parser
  • 1.9

    • Função getVideoById adicionada para recuperar um único vídeo pelo seu ID
  • 1.8

    • Parâmetros adicionados: category, cliente, format, key, location, location-radius, lr, orderby, q
    • Métodos de acesso para os novos parâmetros
    • Parser dos valores para string nos métodos getVideos
  • 1.0

    • Funcionalidade de recuperar vídeos no Youtube