Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wneo

Upload video direto para youtube

Recommended Posts

Bom dia!!!

 

Quero fazer uma aplicação onde possa ser realizado o upload de video através de um form, e esse video fique hospedado no youtube...

alguém sabe como????

 

já tentei assim:

<div id="upload_video">
    <div class="field">
     <form action='' id="youtube_video_upload" method="post" enctype="multipart/form-data">
        <input name="file" type="file" class="multimedia_file"/>
        <div class="errMsg" style="display:none;color:red">
          You need to specify a file.
        </div>
        <div class="errMsg2" style="display:none;color:red">
          Video cannot be uploaded this time. Please try again after sometime.
        </div>
        <input class= "token" name="token" type="hidden" value=""/>
        <input value="Upload Video File" class="upload_button" type="submit" />
      </form>
    </div><br/>
</div>



<script>
  $(document).ready(function(){
    $(' #youtube_video_upload .multimedia_file').click(function(){
      $(this).siblings('.errMsg').css("display", "none");
      $(this).children('.errMsg2').css("display", "none");
    });
    $('#youtube_video_upload').submit(function(){
      if ($(this).children('.multimedia_file').val() == null || $(this).children('.multimedia_file').val() == ""){
        $(this).children('.errMsg').css("display", "");
        return false;
      }else if ($(this).children('.token').val() == null || $(this).children('.token').val() == ""){
        $(this).children('.errMsg2').css("display", "");
        return false;
      }
      $('#youtube_video_upload').children('.upload_button').attr('disabled', 'true');
    });
    $('#video_link').click(function(){
      $("#add_link").css("display", "none");
      $("#upload_video").css("display","");
    });
    $('#youtube_link').click(function(){
      $("#upload_video").css("display","none");
      $("#add_link").css("display", "");
      $('.errMsg').css("display", "none");
      $('.errMsg2').css("display", "none");
    });
    
   // asyn ajax request to fetch upload URL and token from youtube
    $.get('<%= url_for(:action => "uploadToken", :controller => "multimedias", :only_path => false)%>',function(data){
        if(data != ""){
          $('#youtube_video_upload').attr('action', data.uploadUrl + '?nexturl=<%= url_for(:action => "new", :controller => "multimedias", :only_path => false)%>');
          $('#youtube_video_upload').children('.token').val(data.token);
          $('#youtube_video_upload').children('.errMsg2').css("display", "none");
        }else{
          
        }
      }, "json");
  });
</script>

...mas nada acontece, a página nem carrega, fica tudo branco, travado..=/

Compartilhar este post


Link para o post
Compartilhar em outros sites

De uma olhada na documentação da API

Creio q para isso preciso daquela parte de "Envios a retornar" né?

Compartilhar este post


Link para o post
Compartilhar em outros sites

:thumbsup:

 

Pois com este código acima, sem o uso da API, você não faz nada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

:thumbsup:

 

Pois com este código acima, sem o uso da API, você não faz nada!

Dei uma lida e fiz umas conclusões:

 

Envio de video direto do site para youtube:
* É necessário escolher um "método de envio" e um "esquema de autenticação".
-> Existem 2 métodos de envio:
- com base no navegador ou ( Não armazena no servidor do remetente )
- Envio direto ( Necessita de armazenamento no servidor do remetente )
-> Esquemas de autenticação:
- Cabeçalho de autorização (X-GData-Key ou parâmetro Key - chave de
desenvolvedor youtube)
- AuthSub(autenticação permitida sem necessidade de acessar nome e senha do
usuario youtube )
- OAuth(fonte aberto) ou
- ClientLogin(associar a uma única conta do youtube)
Agora só preciso conseguir fazer isso na prática...
Um exemplo de uso que tem no guia do youtube:
(Preciso de 2aquivos xml com os codigos abaixo???)
POST /action/GetUploadToken HTTP/1.1
Host: gdata.youtube.com
Authorization: AuthSub token="DXAA...sdb8"
GData-Version: 2
X-GData-Client: b1c4t9sl2159
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>
<?xml version='1.0' encoding='UTF-8'?>
<response>
  <url>http://uploads.gdata.youtube.com/action/FormDataUpload/AEF3087AUD<url>
  <token>AEwbFAQEvf3xox...</token>
</response>

Preciso de um apoio nessa prática agora...

https://developers.google.com/youtube/2.0/developers_guide_protocol?hl=pt-br#Browser_based_uploading

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.