Olá a todos,
Em primeiro lugar, muito obrigado por todos os ótimos recursos fornecidos pelo YT Center!
Gostaria de solicitar a adição de um botão "Adicionar à lista de reprodução" ao lado dos vídeos que aparecem na página "Minhas inscrições", semelhante ao botão "Adicionar a" que aparece em cada página de vídeo individual. O Android App já tem isso implementado, então é um pouco ridículo que a versão desktop não tenha. Tanto quanto sei, a implementação deve ser bastante simples, pois simplesmente adicionar o botão Adicionar a cada elemento de vídeo funcionaria totalmente.
Desde já, obrigado!
Muito semelhante ao #2107
As miniaturas de vídeo definitivamente devem ter um botão para adicionar à lista de reprodução (não apenas na página de inscrição).
Frustrantemente, o YouTube costumava ter isso , até que em 2012 eles substituíram o botão adicionar à lista de reprodução pelo botão assistir mais tarde no canto inferior direito das miniaturas de vídeo.
Então, parece que só precisamos fazer uma única solicitação de postagem ajax, que retornará o HTML do menu Add To (bem, ele retorna XML, mas o elemento root->html_content
contém o HTML do menu).
A solicitação é para https://www.youtube.com/addto_ajax?action_get_dropdown=1&hide_watch_later=false
, e o corpo deve ser x-www-form-urlencoded
com video_ids
, session_token
(e possivelmente src_playlist_id
).
Ok, parece que session_token
e src_playlist
não são necessários.
A solicitação a seguir funcionou bem para mim:
function getAddMenu(video, domElement) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function readyStateChange() {
if (this.readyState == 4 && this.status == 200) {
var html = xhttp.responseXML.getElementsByTagName('html_content')[0].textContent;
domElement.innerHTML = html;
}
};
xhttp.open('POST', '/addto_ajax?action_get_dropdown=1&hide_watch_later=false', true);
xhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhttp.send('video_ids=' + video);
}
getAddMenu('rh7kpkwXnwA', document.getElementById('foo'))