É tão comum você ver uns exemplos com PHP, uma linguagem bem objetiva e de extrema clareza, mas que depende do programador. Isso serve também para os que programam em ASP. Seja claro e objetivo!
O YouTube oferece a você várias API´s para se comunicar, RSS também. Escolhi um acesso via API não propriamente dito.
Existe um link que lista os mais recentes vídeos do seus Favoritos, é um link como esse, que vem com tags XML:
“http://gdata.youtube.com/feeds/api/users/nome_do_seu_usuario/favorites“
O que você precisa é:
O nome do seu usuário;
Como formatar o XML para mostrar na tela.
Vamos fazer um exemplo com o usuário tedk. Criaremos uma classe e colocarmos as informações básicas:
<%
class YouTube
private objXML
private objLista
private usuario
private url
private sub objetosXML()
set objXML = server.createObject("MSXML2.DOMDocument.3.0")
objXML.async = false
objXML.setProperty "ServerHTTPRequest", true
objXML.validateOnParse = false
objXML.load(url)
set objLista = objXML.getElementsByTagName("*")
end sub
public sub carregarURL()
usuario = "tedk"
url = "http://gdata.youtube.com/feeds/api/users/"&usuario&"/favorites"
call objetosXML()
end sub
end class
%>
Criei um Objeto de acesso que é o DOM, no caso o “MSXML2.DOMDocument.3.0” e setando como verdadeira a sua propriedade “Server HTTP Request“
Na SUB “objetosXML” criei o Objeto DOM e na SUB “carregarURL” coloquei o nome do meu usuário no YouTube. A url de acesso ao Feed API e a chamada da SUB onde contém o Objeto DOM
O restante do código foi só contar quantas Tags XML temos até começar a estrutura dos vídeos. Contei 16 e fiz o FOR. Usei uma “mini-função” para tratar a URL de vídeo para colocar no EMBED.
Coloquei um CASE para buscar as Tags que tenho como objetivo, que é o link do vídeo, o título e a descrição.
Vamos ver o código completo:
<%
class YouTube
private objXML
private objLista
private usuario
private url
private id, i
private nome_objeto
private sub objetosXML()
set objXML = server.createObject("MSXML2.DOMDocument.3.0")
objXML.async = false
objXML.setProperty "ServerHTTPRequest", true
objXML.validateOnParse = false
objXML.load(url)
set objLista = objXML.getElementsByTagName("*")
end sub
public sub carregarURL()
usuario = "nome_do_seu_usuario"
url = "http://gdata.youtube.com/feeds/api/users/"&usuario&"/favorites"
call objetosXML()
for i = 16 to (objLista.length - 1)
select case (objLista.item(i).nodeName)
case "id"
nome_objeto = objLista.item(i).text
id = right(nome_objeto, len(nome_objeto) - instrRev(nome_objeto,"/"))
tabela = tabela & "<table width=""494"" border=""0"" cellspacing=""0"" cellpadding=""0"">"
tabela = tabela & "<tr><td colspan=""2"">"
tabela = tabela & "<object width=225 height=144><param name=movie value=http://www.youtube.com/v/"&id&"></param>"
tabela = tabela & "<param name=allowFullScreen value=true></param>"
tabela = tabela & "<param name=allowscriptaccess value=always></param>"
tabela = tabela & "<embed src=http://www.youtube.com/v/"&id&" type=application/x-shockwave-flash allowscriptaccess=always allowfullscreen=true width=225 height=144></embed>"
tabela = tabela & "</object>"
tabela = tabela & "</td></tr>"
case "title"
tabela = tabela & "<tr><td width=""92"" valign=""top"" style=""font: 11px Arial;""><strong>TÍTULO:</strong></td>"
tabela = tabela & "<td width=""402"" valign=""top"" style=""font: 11px Arial;"">"&objLista.item(i).text&"</td></tr>"
case "content"
tabela = tabela & "<tr><td valign=""top"" style=""text-align: justify; font: 11px Arial;""><strong>DESCRIÇÃO:</strong></td>"
tabela = tabela & "<td valign=""top"" style=""font: 11px Arial;"">"&objLista.item(i).text&"</td></tr>"
tabela = tabela & "</table><br><br>"
end select
next
response.write(tabela)
end sub
end class
%>
OBS: Eu poderia usar o XSL para formatar as tabelas e mostra na tela, mas para um webdesigner modificar o código seria bastante complicado, então a idéia é facilitar!
O resultado é esse: