大家好,
首先,非常感谢 YT Center 提供的所有强大功能!
我想请求在“我的订阅”页面中显示的视频旁边添加一个“添加到播放列表”按钮,类似于每个视频页面中显示的“添加到”按钮。 Android 应用程序已经实现了这个,所以桌面版没有这个有点可笑。 据我所知,实现应该相当简单,因为我什至只需将“添加到”按钮添加到每个视频元素就可以了。
提前致谢!
所以看起来我们只需要发出一个 ajax post 请求,它将返回 Add To 菜单的 HTML(嗯,它返回 XML,但root->html_content
元素包含菜单的 HTML)。
请求是https://www.youtube.com/addto_ajax?action_get_dropdown=1&hide_watch_later=false
,正文应该是x-www-form-urlencoded
和video_ids
, session_token
(可能还有src_playlist_id
)。
好的,看起来不需要session_token
和src_playlist
。
以下请求对我来说很好:
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'))