Quantcast
Channel: Active questions tagged youtube-api - Stack Overflow
Viewing all articles
Browse latest Browse all 3831

API YouTube - Adding multiple videos on YouTube playlist

$
0
0

I want to add multiple videos on a YouTube playlist using API v3, but just some of them are added... It seems that the problem is the asset.position that is random in the response.

Maybe have a delay in two requests? How can I fix this?

Code to reproduce the problem:

var apiKey = '***';var youtubeClientId = '***';var youtubeScopes = ['https://www.googleapis.com/auth/youtube','https://www.googleapis.com/auth/youtube.upload','https://www.googleapis.com/auth/youtubepartner'    ];var playlistId = '***';function init() {    gapi.client.setApiKey(apiKey);    window.setTimeout(checkAuth, 1);}function checkAuth() {    gapi.auth.authorize({client_id: youtubeClientId, scope: youtubeScopes, immediate: true}, handleAuthResult);}function handleAuthResult(authResult) {    var authorizeButton = document.getElementById('importYoutube');    if (authResult && !authResult.error) {        gapi.client.load('youtube', 'v3', showSearch);    }}function showSearch() {    document.getElementById('search').style.display = '';}function singleCallback(resp, rawResp) {    console && console.log(resp);}function writeResponse(resp) {    var infoDiv = document.getElementById('info');    var result = resp.result;    if (!result.items) {        return;    }    var responseTitle = document.createElement('strong');    responseTitle.innerHTML = 'Profiles results for '+ resp.id +':';    infoDiv.appendChild(responseTitle);    for (var i = 0; i < result.items.length ; i++) {        var profileResult = result.items[i];        var profileInfo = document.createElement('P');        if (profileResult.image && profileResult.image.url) {            var profilePic = document.createElement('IMG');            profilePic.src = resizeImage(profileResult.image.url);            profileInfo.appendChild(profilePic);        }        var profileLink = document.createElement('A');        profileLink.style.marginLeft = '5px';        profileLink.href = profileResult.url;        profileLink.innerHTML = profileResult.displayName;        profileInfo.appendChild(profileLink);        infoDiv.appendChild(profileInfo);    }}function batchCallback(resp, rawResp) {    console.log(resp);    var infoDiv = document.getElementById('info');    infoDiv.innerHTML = '';    for (var id in resp) {        writeResponse(resp[id]);    }}function makeRequest() {    addToPlaylist('lRGoIiKXl8s');    addToPlaylist('xvtNS6hbVy4');    addToPlaylist('9I9Ar6upx34');    addToPlaylist('Hr2Bc5qMhE4');    addToPlaylist('ZaI2IlHwmgQ');    addToPlaylist('fyMhvkC3A84');    addToPlaylist('nv44r3q6zgo');}function addToPlaylist(videoId, startPos, endPos) {    console.log('addToPlaylist videoId'+ videoId);    console.log('addToPlaylist playlistId'+ playlistId);    gapi.client.load('youtube', 'v3', function() {        var details = {            videoId: videoId,            kind: 'youtube#video'        }        if (startPos != undefined) {            details['startAt'] = startPos;        }        if (endPos != undefined) {            details['endAt'] = endPos;        }        var request = gapi.client.youtube.playlistItems.insert({            part: 'snippet',            resource: {                snippet: {                    playlistId: playlistId,                    resourceId: details                }            }        });        request.execute(function(response) {            console.log(JSON.stringify(response.result));        });    });}

Viewing all articles
Browse latest Browse all 3831

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>