YouTube Content ID Service

The YouTube Content ID service allows you to use the YouTube Content ID API in Apps Script. This API lets developers interact directly with YouTube's Content ID rights management system. As a YouTube partner, you can use the API to create and manage your assets, claims and campaigns.

Reference

For detailed information on this service, see the reference documentation for the public YouTube Content ID API. Like all advanced services in Apps Script, the advanced YouTube Content ID service uses the same objects, methods, and parameters as the public API. For more information, see How method signatures are determined.

To report issues and find other support, see the YouTube API support guide.

Sample code

The sample code below uses version 1 of the YouTube Content ID API.

Claim your video

This function creates a partner-uploaded claim on your video with the specified asset and policy rules.

advanced/youtubeContentId.gs
/** * This function creates a partner-uploaded claim on a video with the specified * asset and policy rules. * @see https://developers.google.com/youtube/partner/docs/v1/claims/insert */functionclaimYourVideoWithMonetizePolicy(){// The ID of the content owner that you are acting on behalf of.constonBehalfOfContentOwner='replaceWithYourContentOwnerID';// A YouTube video ID to claim. In this example, the video must be uploaded// to one of your onBehalfOfContentOwner's linked channels.constvideoId='replaceWithYourVideoID';constassetId='replaceWithYourAssetID';constclaimToInsert={'videoId':videoId,'assetId':assetId,'contentType':'audiovisual',// Set the claim policy to monetize. You can also specify a policy ID here// instead of policy rules.// For details, please refer to the YouTube Content ID API Policies// documentation:// https://developers.google.com/youtube/partner/docs/v1/policies'policy':{'rules':[{'action':'monetize'}]}};try{constclaimInserted=YouTubeContentId.Claims.insert(claimToInsert,{'onBehalfOfContentOwner':onBehalfOfContentOwner});console.log('Claimcreatedonvideo%s:%s',videoId,claimInserted);}catch(e){console.log('Failedtocreateclaimonvideo%s,error:%s',videoId,e.message);}}

Update asset ownership

This function updates your ownership on an existing asset.

advanced/youtubeContentId.gs
/** * This function updates your onBehalfOfContentOwner's ownership on an existing * asset. * @see https://developers.google.com/youtube/partner/docs/v1/ownership/update */functionupdateAssetOwnership(){// The ID of the content owner that you are acting on behalf of.constonBehalfOfContentOwner='replaceWithYourContentOwnerID';// Replace values with your asset idconstassetId='replaceWithYourAssetID';// The new ownership here would replace your existing ownership on the asset.constmyAssetOwnership={'general':[{'ratio':100,'owner':onBehalfOfContentOwner,'type':'include','territories':['US','CA']}]};try{constupdatedOwnership=YouTubeContentId.Ownership.update(myAssetOwnership,assetId,{'onBehalfOfContentOwner':onBehalfOfContentOwner});console.log('Ownershipupdatedonasset%s:%s',assetId,updatedOwnership);}catch(e){console.log('Ownershipupdatefailedonasset%s,error:%s',assetId,e.message);}}

Release a claim

This function releases an existing claim you have on a video.

advanced/youtubeContentId.gs
/** * This function releases an existing claim your onBehalfOfContentOwner has * on a video. * @see https://developers.google.com/youtube/partner/docs/v1/claims/patch */functionreleaseClaim(){// The ID of the content owner that you are acting on behalf of.constonBehalfOfContentOwner='replaceWithYourContentOwnerID';// The ID of the claim to be released.constclaimId='replaceWithYourClaimID';// To release the claim, change the resource's status to inactive.constclaimToBeReleased={'status':'inactive'};try{constclaimReleased=YouTubeContentId.Claims.patch(claimToBeReleased,claimId,{'onBehalfOfContentOwner':onBehalfOfContentOwner});console.log('Claim%swasreleased:%s',claimId,claimReleased);}catch(e){console.log('Failedtoreleaseclaim%s,error:%s',claimId,e.message);}}