Domanda

Sto cercando di creare un'applicazione dove posso caricare i file su YouTube. Ho acquistato di lavoro OAuth, e Youtube sta tornando una sessione!

Il problema che sto avendo è, YouTube richiede faccio un XMLHTTP POST per ottenere un URL dove posso caricare attraverso la mia pagina web.

Non ho idea di come fare un XMLHTTP Messaggio con i parametri extra YouTube richiede. Hanno esempi di codice in PHP e .NET entrambi i quali non capisco ancora: (

Questo è dove mi sono bloccato: http://code.google.com/apis/youtube/2.0/ developers_guide_protocol_browser_based_uploading.html # Sending_a_Browser_Upload_API_Request

Non so come formattare un comando XML http avere tutte quelle variabili youtube vuole. Si prega di aiuto ...

qui è quello che vogliono ..

 POST /action/GetUploadToken HTTP/1.1
Host: gdata.youtube.com
Authorization: AuthSub token="DXAA...sdb8"
GData-Version: 2
X-GData-Key: key=adf15ee97731bca89da876c...a8dc
Content-Length: 1941255
Content-Type: application/atom+xml; charset=UTF-8

<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
  xmlns:media="http://search.yahoo.com/mrss/"
  xmlns:yt="http://gdata.youtube.com/schemas/2007">
  <media:group>
    <media:title type="plain">Bad Wedding Toast</media:title>
    <media:description type="plain">
      I gave a bad toast at my friend's wedding.
    </media:description>
    <media:category
      scheme="http://gdata.youtube.com/schemas/2007/categories.cat">People
    </media:category>
    <media:keywords>toast, wedding</media:keywords>
  </media:group>
</entry>

Ecco il codice che ho ora: Penso che ho bisogno di intestazioni? Quando i post che ottengo una risposta di non autorizzato. Ho anche cercato di creare un vecchio html e provare questo, ma non funziona ...

Non hanno idea di come quei paramenters vengono inviati:

Ecco che cosa ho ottenuto

Set  xmlHttp = CreateObject("MSXML2.ServerXMLHTTP")

URLString = "http://gdata.youtube.com/action/GetUploadToken"
SendString = ""
    SendString = SendString & "Authorization: AuthSub token=" &  token
xmlHttp.open "POST", URLString & "?" & SendString
xmlHttp.setRequestHeader "Host:", "gdata.youtube.com"
xmlHttp.setRequestHeader "Authorization: AuthSub token=", token
xmlHttp.setRequestHeader "GData-Version:", "2"
xmlHttp.setRequestHeader "Content-Length:", "<content_length>"
xmlHttp.setRequestHeader "Content-Type", "application/atom+xml; charset=UTF-"
xmlHttp.send SendString

If xmlHttp.Status >= 400 And xmlHttp.Status <= 599 Then
    Response.Write "<BR><BR><BR>Error Occured: " & xmlHttp.statusText
Else
  '  ReturnData = Replace(xmlHttp.responseText, "&", ",")
        Response.Write "<BR><BR><BR>WENT GOOD?<BR>" & xmlHttp.responseText
End If
È stato utile?

Soluzione

In primo luogo, setRequestHeader non lo fa prendere i due punti. Dovrebbe essere solo

xmlHttp.setRequestHeader "Host", "gdata.youtube.com"
xmlHttp.setRequestHeader "Authorization", "AuthSub token=" & token
xmlHttp.setRequestHeader "GData-Version", "2"
xmlHttp.setRequestHeader "Content-Length", "<content_length>" <-- THIS IS IMPORTANT!
xmlHttp.setRequestHeader "Content-Type", "application/atom+xml; charset=UTF-8"

Avanti, stai inviando il corretto content-length? Questo deve essere accurata. Suppongo che il mancante "8" dal vostro header Content-Type alla fine è stato un errore di battitura.

Infine, è necessario installare Fiddler subito e rendere la vita più semplice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top