Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, amigos. Procurei aqui no fórum e no Google, mas não encontro.
Quero saber como pegar o nome do vídeo do YouTube através da URL dele. Sei que dá para pegar a imagem e é o que fiz, mas gostaria de saber se existe algum webservice ou xml que o youtube possui onde possamos, apenas com o ID do video, pegar nome, tempo de vídeo e todas as informações do vídeo?
Esta aqui é a url da api para tu conseguir pegar informações sobre determinado vídeo.
http://gdata.youtube.com/feeds/api/videos/dMH0bHeiRNg
De uma procurado por xml dom, pois você vai precisar para resgatar este ou outros dados do vídeo.
olha este exemplo, você consegue Listar os videoa Favoritos de determinada pessoa, e nele você tem como pegar o nome do video
pode usar esta classe que desenvolvi,
Class YouTube
private p_leitor
private p_titulo
private p_descricao
private p_imagem
private p_objXML
public altura
public largura
'inicializar classe
Private Sub Class_Initialize()
set p_objXML = server.createObject("MSXML2.DOMdocument.3.0")
altura = 144
largura = 225
End Sub
'fechar classe
Private Sub Class_Terminate()
set p_objXML = nothing
End Sub
'leitor
Public Property get leitor()
leitor = p_leitor
End Property
Public Property let leitor(p_data)
p_leitor = p_data
End Property
'titulo
Public Property get titulo()
titulo = p_titulo
End Property
Public Property let titulo(p_data)
p_titulo = p_data
End Property
'descricao
Public Property get descricao()
descricao = p_descricao
End Property
Public Property let descricao(p_data)
p_descricao = p_data
End Property
'imagem
Public Property get imagem()
imagem = p_imagem
End Property
Public Property let imagem(p_data)
p_imagem = p_data
End Property
'Funções Privadas
Private Function obterid(endereco)
endereco = Mid(endereco,inStr(endereco,"=")+1,len(endereco))
if inStr(endereco,"&") > 0 then
endereco = left(endereco,inStr(endereco,"&") - 1)
end if
obterid = endereco
End Function
'Funções Públicas
Public Sub video(url)
p_objXML.async = false
p_objXML.setProperty "ServerHTTPRequest", true
p_objXML.validateOnParse = false
p_objXML.load("http://gdata.youtube.com/feeds/api/videos/"&obterid(url))
set objLista = p_objXML.getElementsByTagName("*")
o_leitor = "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' width='"&largura&"' height='"&altura&"' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'>"_
&"<param name='quality' value='High' />"_
&"<param name='wmode' value='transparent' />"_
&"<param name='src' value='http://www.youtube.com/watch?v="&obterid(url)&"' />"_
&"<embed type='application/x-shockwave-flash' width='"&largura&"' height='"&altura&"' src='http://www.youtube.com/watch?v="&obterid(url)&"' wmode='transparent' quality='High'></embed>"_
&"</object>"
me.leitor = o_leitor
for i = 0 to (objLista.length - 1)
select case (objLista.item(i).nodeName)
case "title"
me.titulo = objLista.item(i).text
case "media:thumbnail"
me.imagem = objLista.item(i).GetAttribute("url")
case "content"
me.descricao = objLista.item(i).text
end select
next
set objLista = nothing
end sub
End Class
set tube = new YouTube
tube.video("http://www.youtube.com/watch?v=fGZ5pyRV_3E&feature=fvst")
response.write tube.titulo
set tube = nothing
<%
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/watch?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/watch?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
%>
Obrigado a todos. Xan, seu exemplo eu já tinha aqui e uso bastante até! Muito bom mesmo!
Patrique, era exatamente isso que eu procurava. Pois desta vez eu estava lidando apenas com um video e este era aleatório.
Obrigado a todos.
beleza Mano...
veja se isso ajuda: http://code.google.com/intl/pt-BR/apis/youtube/getting_started.html#data_api