de Channel banners insert, vous devez appeler:
channelBanners.insert
, et obtenir le champ URL de la réponse
channels.update
avec la précédente URL récupérée
Vous aurez également besoin du numéro de canal pour channels.update
demande. Notez également que from Channel update:
Si vous soumettez une demande de mise à jour, et votre demande ne spécifie pas de valeur pour une propriété qui a déjà une valeur, sera supprimé la valeur actuelle de la propriété.
Vous pouvez appeler channels.list
pour obtenir l'objet de canal avec brandingSettings
partie mise à jour
L'appel API avec google-api-nodejs-client:
channelBanners.insert
youtube.channelBanners.insert({
media: {
mimeType: "image/jpeg",
body: fs.createReadStream('banner.jpeg')
}
}, function(err, uploadResponse, response) {
});
Les mimeType
disponibles sont image/jpeg
, image/png
, application/octet-stream
channels.list
youtube.channels.list({
part: "brandingSettings",
mine: true
}, function(err, channelListRsp, response) {
});
channels.update
channelListRsp.items[0].brandingSettings.image.bannerExternalUrl = uploadResponse.url;
youtube.channels.update({
part: "brandingSettings",
resource: channelListRsp.items[0]
}, function(err, channelUpdateResp, response) {
});
Exemple complet qui mettent à jour le ba nner pour le premier canal trouvé dans la liste des canaux de l'utilisateur actuel:
youtube = google.youtube({
version: 'v3',
auth: oauth2Client
});
youtube.channelBanners.insert({
media: {
mimeType: "image/jpeg",
body: fs.createReadStream('banner.jpeg')
}
}, function(err, uploadResponse, response) {
if (err)
console.error("channelBanners.insert error : ", err);
if (response)
console.log('channelBanners.insert : ' + response.statusCode);
if (uploadResponse && uploadResponse.url) {
console.log("setting channel brandingSettings : " + uploadResponse.url);
youtube.channels.list({
part: "brandingSettings",
mine: true
}, function(err, channelListRsp, response) {
if (err)
console.error('channels.list error : ', err);
if (response)
console.log('channels.list : ' + response.statusCode);
if (channelListRsp && channelListRsp.items && channelListRsp.items.length > 0) {
console.log("updating banner for channel id : " + channelListRsp.items[0].id);
// set the url
channelListRsp.items[0].brandingSettings.image.bannerExternalUrl = uploadResponse.url;
//update channel brandingSettings
youtube.channels.update({
part: "brandingSettings",
resource: channelListRsp.items[0]
}, function(err, channelUpdateResp, response) {
if (err)
console.error('channels.update error : ', err);
if (response)
console.log('channels.update : ' + response.statusCode);
if (channelUpdateResp)
console.log(channelUpdateResp);
});
}
});
}
});
Merci, ça marche – Goolishka