..:: MX Studio Fóruns ::..: listas Youtube XML - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

listas Youtube XML

#1 User is offline   xanburzum 

  • Group: Administrador
  • Posts: 2076
  • Joined: 04-November 08

Posted 22 December 2009 - 02:24 PM

Integrar listas Youtube XML em seu site. Parse lista dinamicamente e apresentá-lo como você quiser com qualquer estilo ou css que você gosta. Coloca em lista de registros com paginação.

CÓDIGO
<%

Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"


dim objHTTP
dim objXML
dim objXSL

' set-up XMLHTTP

set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")

' obter os dados XML solicitado à localização remota
'Mudar a URL como por sua alimentação.
objHTTP.open "GET", "http://www.youtube.com/api2_rest?method=youtube.videos.list_by_playlist&dev_id=DEVELOPERIDGOESHERE&id=PLAYLISTIDGOESHERE", false
'O YouTube também tem uma opção que inclui a paginação , http://www.youtube.com/api2_rest?method=youtube.videos.list_by_playlist&dev_id=dev_id&id=id&page=page&per_page=per_page
objHTTP.send

' salvar o XML em objXML como XML
set objXML = objHTTP.responseXML

If objXML.parseError.errorCode <> 0 Then
response.write "Opa, eu não posso carregar o arquivo XML, desculpe."
End If

Set objLst = objXML.getElementsByTagName("video")


noOfHeadlines = objLst.length
response.write "<center><b>Este são " & noOfHeadlines & " Vídeos nesta lista..</center></b>"


CONST adFldIsNullable = &H00000020
CONST adVarChar = 200
CONST adDate = 7
CONST adOpenDynamic = 2
CONST adUseClient = 3


if noOfHeadlines > 0 then
Set rs = CreateObject("ADODB.recordset")

Dim Currpage, pageLen, lastNumber, PageRem, PageTen
Dim connection, rs, sSQL, sConnString, next10, prev10, P
Dim RSPrevPage, RSNextPage, start
'pega a página atual do usuário , se é a primeira vez que ele
'visita a variável' PageNo 'é vazia, então' CurrPage 'fica definido para 1
'Else a variável página atual "CurrPage' é definido como o número da página solicitada
If IsEmpty(Request.Querystring("PageNo")) then
CurrPage = 1
Else
CurrPage = Cint(Request.Querystring("PageNo"))
End If

'as duas funções abaixo retornam os próximos 10 e os 10  anteriores
Function getNext10(num)
pageLen = len(num)
If pageLen = 1 Then
next10 = 10
Else If pageLen>1 Then
pageRem = 10
pageTen = right(num, 1)
next10 = num + pageRem - pageTen
End If
End If
getNext10 = next10
End Function

Function getPrev10(num)
pageLen = len(num)
If pageLen = 1 then
prev10 = 1
Else If pageLen>1 then
lastNumber = right(num, 1)
prev10 = num - lastNumber - 10
End If
End If
If prev10 = 0 then
prev10 = 1
End If
getPrev10 = prev10
End Function


With rs
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
'.Fields.Append "VIDEO", adVarChar, 255, adFldIsNullable
'.Fields.Append "ID", adDate, 32, adFldIsNullable


.Fields.Append"author",adVarChar,255,adFldIsNullable
.Fields.Append"id",adVarChar,255,adFldIsNullable
.Fields.Append"title",adVarChar,255,adFldIsNullable
.Fields.Append"length_seconds",adVarChar,255,adFldIsNullable
.Fields.Append"rating_avg",adVarChar,255,adFldIsNullable
.Fields.Append"rating_count",adVarChar,255,adFldIsNullable
.Fields.Append"description",adVarChar,255,adFldIsNullable
.Fields.Append"view_count",adVarChar,255,adFldIsNullable
.Fields.Append"upload_time",adVarChar,255,adFldIsNullable
.Fields.Append"comment_count",adVarChar,255,adFldIsNullable
.Fields.Append"tags",adVarChar,255,adFldIsNullable
.Fields.Append"url",adVarChar,255,adFldIsNullable
.Fields.Append"thumbnail_url",adVarChar,255,adFldIsNullable
.Fields.Append"embed_id",adVarChar,255,adFldIsNullable


.open


on error resume next
'Set objHdl = objLst.item

      '  For i = 0 To (noOfHeadlines) Not using this anymore
For i = 0 To (noOfHeadlines)-1


Set objHdl = objLst.item(i)

.AddNew

.Fields("author") = (objHdl.childNodes(0).text)
.Fields("id") = (objHdl.childNodes(1).text)
.Fields("title") = (objHdl.childNodes(2).text)
.Fields("length_seconds") = (objHdl.childNodes(3).text)
.Fields("rating_avg") = (objHdl.childNodes(4).text)
.Fields("rating_count") = (objHdl.childNodes(5).text)
.Fields("description") = (objHdl.childNodes(6).text)
.Fields("view_count") = (objHdl.childNodes(7).text)
.Fields("upload_time") = (objHdl.childNodes(8).text)
.Fields("comment_count") = (objHdl.childNodes(9).text)
.Fields("tags") = (objHdl.childNodes(10).text)
.Fields("url") = (objHdl.childNodes(11).text)
.Fields("thumbnail_url") = (objHdl.childNodes(12).text)
.Fields("embed_id") = (objHdl.childNodes(13).text)

.update


' lista alfabetica

.Sort = "title ASC"
.MoveFirst

.sort
next


set folder = nothing
set fso = nothing
'Pagesize é usado para definir o número de registros que serão
' Exibido em cada página. Para os nossos propósitos 10 registros é o que queremos.
rs.PageSize = 15
%>
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Mostrando Playlist Youtube em XML</title>
</head>

<body>
<p align="center">Here's the playlist XML we want to parse, format, and display:
<a target="_blank" href="http://www.youtube.com/api2_rest?method=youtube.videos.list_by_playlist&dev_id=zpsaJ4q4Yo0&id=F48E2331F43A70C3">
APHA World Show 2007 Videos</a>.</p>
<div align="center">
<table border="0" width="600">
<tr>

<%
'os próximos 10 e os 10  anteriores
next10 = getNext10(CurrPage)
prev10 = getPrev10(CurrPage)

'Se não há registros
If rs.EOF Then
Response.write "não há registros"

Else
'Isso move o ponteiro registro para o primeiro registro da página atual
rs.AbsolutePage = CurrPage


'abaixo o ciclo irá repetir até que todos os registros da página atual foram
'exibido ou que tenha alcançado o final do rs
Do Until rs.AbsolutePage <> CurrPage OR rs.Eof


x=x +1


mydate = DateAdd("s", rs("upload_time"), "01/01/1970 00:00:00")



response.write "<tr><td><BR>"
if NOT rs("id") = "" then

Response.Write "<br>"& "<BR>" &_
("Author: ")& rs("author") & "<BR>" &_
("Id: ") & rs("id") & "<BR>" &_
"Title: " & rs("title") & "<BR>" &_
"Length: " & rs("length_seconds") & "<BR>" &_
"Rating Avg: " & rs("rating_avg") & "<BR>" &_
"Rating Count: " & rs("rating_count")& "<BR>" &_
"Description: " & rs("description") & "<BR>" &_
"View Count: " & rs("view_count") & "<BR>" &_
"Upload Time: " & mydate & "<BR>" &_
"Comments: " & rs("comment_count") & "<BR>" &_
"Tags: " & rs("tags") & "<BR>" &_
"URL: " & "<a target=_blank href=" & rs("url") & ">" & rs("url") & "</a><BR>" &_
"Thumbnail: " & "<img src=" & rs("thumbnail_url") & "><BR>" &_
"Embed ID: " & rs("embed_id")

response.write "<hr>"
end if

response.write "</td><td>"
if x = 5 then 'isto é, se você quiser várias colunas
response.write "</tr><tr>"
x = 0
end if
rs.MoveNext

Loop

end if
%>
</tr>
</table>
</div>
<div align="center" style="font-size: 12pt; font-weight: bold">
<%
'a próxima 2 linhas, o número de página para a "anterior" e "Next" links
RSPrevPage = CurrPage -1
RSNextPage = CurrPage + 1

'descobrir o número de páginas retornadas no rs
'Se o número da página Next10 é maior que o número de páginas rs
'Next10 então definido para o RS pagecount
If Next10 > rs.PageCount Then
Next10 = rs.PageCount
End If

'início variável determina onde começar a navegação da página
'Ou seja, 1, 10, 20, 30 e assim por diante.
If prev10 = 1 AND next10 - 1 < 10 Then
start = 1
Else
start = Next10 - 10
If right(start, 1) > 0 Then
start = replace(start, right(start, 1), "0")
start = start + 10
End If
End If

'Isso verifica para se certificar de que há mais de uma página de resultados
If rs.PageCount > 1 Then

If currpage > 1 Then
response.write("<a href=""list.asp?PageNo=" & Prev10 & """><<</a> ")
End If

If NOT RSPrevPage = 0 then
response.write("<a href=""list.asp?PageNo=" & RSPrevPage & """><</a> ")
End If

'Loop através do número da página de navegação usando P como nossa variável loopcounter
For P = start to Next10

If NOT P = CurrPage then
response.write("<a href=""list.asp?PageNo=" & P & """>" & P & "</a> ")
Else

response.write(" <b>" & P & " </b>")
End If
Next
'Isto faz o mesmo que o anterior "link", mas para o "link" next
If NOT RSNextPage > rs.PageCount Then
response.write("<a href=""list.asp?PageNo=" & RSNextPage & """>></a> ")
End If


If NOT Next10 = rs.PageCount Then
response.write(" <a href=""list.asp?PageNo=" & Next10 & """>>></a>")
End If
End If

' Fechar o RS e objeto de conexão
rs.Close
Set rs =Nothing
end with
end if
%>
</div>
</body>

</html>


[/code]
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)