שירות YouTube Content ID

ניהול נכסים, תביעות וקמפיינים של שותפי תוכן ב-YouTube.

שירות Content ID ב-YouTube מאפשר לכם להשתמש ב-YouTube Content ID API ב-Google Apps Script. ה-API הזה מאפשר למפתחים לקיים אינטראקציה ישירה עם מערכת ניהול הזכויות של YouTube Content ID. כשותפים ב-YouTube, אתם יכולים להשתמש ב-API כדי ליצור ולנהל את הנכסים, ההצהרות על זכויות יוצרים והקמפיינים שלכם.

זהו שירות מתקדם שצריך להפעיל לפני השימוש.

חומרי עזר

מידע מפורט על השירות הזה זמין במאמרי העזרה בנושא Content ID API הציבורי של YouTube. בדומה לכל השירותים המתקדמים ב-Apps Script, שירות Content ID המתקדם של YouTube משתמש באותם אובייקטים, שיטות ופרמטרים כמו ה-API הציבורי. איך נקבעות חתימות של שיטות

כדי לדווח על בעיות ולמצוא תמיכה אחרת, אפשר לעיין במדריך התמיכה של YouTube API.

קוד לדוגמה

בדוגמת הקוד הבאה נעשה שימוש בגרסה 1 של YouTube Content ID API.

הצהרה על זכויות יוצרים בסרטון

הפונקציה הזו יוצרת הצהרה על זכויות יוצרים על הסרטון שלכם כסרטון שהועלה על ידי שותף, עם הנכס וכללי המדיניות שצוינו.

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
 */
function claimYourVideoWithMonetizePolicy() {
  // The ID of the content owner that you are acting on behalf of.
  const onBehalfOfContentOwner = "replaceWithYourContentOwnerID";
  // A YouTube video ID to claim. In this example, the video must be uploaded
  // to one of your onBehalfOfContentOwner's linked channels.
  const videoId = "replaceWithYourVideoID";
  const assetId = "replaceWithYourAssetID";
  const claimToInsert = {
    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 {
    const claimInserted = YouTubeContentId.Claims.insert(claimToInsert, {
      onBehalfOfContentOwner: onBehalfOfContentOwner,
    });
    console.log("Claim created on video %s: %s", videoId, claimInserted);
  } catch (e) {
    console.log(
      "Failed to create claim on video %s, error: %s",
      videoId,
      e.message,
    );
  }
}

עדכון הבעלות על נכס

הפונקציה הזו מעדכנת את הבעלות שלכם על נכס קיים.

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
 */
function updateAssetOwnership() {
  // The ID of the content owner that you are acting on behalf of.
  const onBehalfOfContentOwner = "replaceWithYourContentOwnerID";
  // Replace values with your asset id
  const assetId = "replaceWithYourAssetID";
  // The new ownership here would replace your existing ownership on the asset.
  const myAssetOwnership = {
    general: [
      {
        ratio: 100,
        owner: onBehalfOfContentOwner,
        type: "include",
        territories: ["US", "CA"],
      },
    ],
  };
  try {
    const updatedOwnership = YouTubeContentId.Ownership.update(
      myAssetOwnership,
      assetId,
      { onBehalfOfContentOwner: onBehalfOfContentOwner },
    );
    console.log("Ownership updated on asset %s: %s", assetId, updatedOwnership);
  } catch (e) {
    console.log(
      "Ownership update failed on asset %s, error: %s",
      assetId,
      e.message,
    );
  }
}

ביטול תלונה

הפונקציה הזו מבטלת תלונה קיימת על הפרת זכויות יוצרים שהגשתם לגבי סרטון.

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
 */
function releaseClaim() {
  // The ID of the content owner that you are acting on behalf of.
  const onBehalfOfContentOwner = "replaceWithYourContentOwnerID";
  // The ID of the claim to be released.
  const claimId = "replaceWithYourClaimID";
  // To release the claim, change the resource's status to inactive.
  const claimToBeReleased = {
    status: "inactive",
  };
  try {
    const claimReleased = YouTubeContentId.Claims.patch(
      claimToBeReleased,
      claimId,
      { onBehalfOfContentOwner: onBehalfOfContentOwner },
    );
    console.log("Claim %s was released: %s", claimId, claimReleased);
  } catch (e) {
    console.log("Failed to release claim %s, error: %s", claimId, e.message);
  }
}