關於媒體文件和資料儲存庫

本頁面提供媒體相關文件和資料存放區的資訊。如果您使用媒體建議或媒體搜尋,請先查看本頁面上的文件和資料儲存庫結構定義需求,再上傳資料。

總覽

文件是指您上傳至 AI 應用程式資料儲存庫的任何項目。就媒體而言,文件通常包含媒體內容的中繼資料資訊,例如影片、新聞報導、音樂檔案或 Podcast。API 中的 Document 物件會擷取這項中繼資料資訊。

資料儲存庫包含您上傳的文件集合。建立資料儲存庫時,請指定儲存庫包含媒體文件。媒體資料儲存庫只能附加至媒體應用程式,不能附加至其他應用程式類型,例如自訂搜尋和建議。資料儲存庫在 API 中會以 DataStore 資源表示。

上傳資料的品質會直接影響媒體應用程式提供的結果品質。一般來說,提供的資訊越準確具體,結果品質就越高。

上傳至資料存放區的資料必須採用特定 JSON 結構定義格式。以該結構定義排列的資料必須位於 BigQuery 資料表、Cloud Storage 中的檔案或一組檔案,或是可使用 Google Cloud 控制台直接上傳的 JSON 物件。

Google 預先定義的結構定義與自訂結構定義

媒體資料結構定義有兩種選項:

  • Google 預先定義的結構定義。如果尚未設計媒體資料的結構定義,建議使用 Google 預先定義的結構定義。

  • 您自有的結構定義。如果資料已採用結構定義格式,則可使用自己的結構定義。詳情請參閱下方的「自訂架構」。

無論選擇哪種方式,您都可以在初始資料匯入後,將欄位新增至結構定義。不過,使用 Google 預先定義的結構時,初始匯入的資料欄位名稱和類型必須與「文件欄位」表格中的名稱和類型完全一致。

主要屬性

屬性可用於訓練搜尋和建議模型。屬性欄位代表結構定義中的所有欄位。

重要屬性是 Google 結構定義中一組固定的特殊屬性。主要屬性會識別重要資訊,用於瞭解資料的語意。

如果使用自訂結構定義,請務必盡可能將欄位對應至重要屬性。匯入資料後,您可以在 Google Cloud 控制台中進行對應;請參閱「建立媒體資料儲存庫」。

Google 預先定義的 Document JSON 結構定義

使用媒體時,文件可以採用 Google 預先定義的媒體 JSON 結構定義。

上傳文件時,可使用 JSON 或 Struct 資料表示法。請確認文件 JSON 或 Struct 符合下列 JSON 結構定義。JSON 結構定義使用 JSON 結構定義 2020-12 進行驗證。如要進一步瞭解 JSON 結構定義,請參閱 json-schema.org 的 JSON 結構定義規格說明文件

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
    },
    "description": {
      "type": "string",
    },
    "media_type": {
      "type": "string",
    },
    "language_code": {
      "type": "string",
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "uri": {
      "type": "string",
    },
    "images": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "uri": {
            "type": "string",
          },
          "name": {
            "type": "string",
          }
        },
      }
    },
    "in_languages": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "country_of_origin": {
      "type": "string",
    },
    "transcript": {
      "type": "string",
    },
    "content_index": {
      "type": "integer",
    },
    "persons": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
          },
          "role": {
            "type": "string",
          },
          "custom_role": {
            "type": "string",
          },
          "rank": {
            "type": "integer",
          },
          "uri": {
            "type": "string",
          }
        },
        "required": ["name", "role"],
      }
    },
    "organizations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
          },
          "role": {
            "type": "string",
          },
          "custom_role": {
            "type": "string",
          },
          "rank": {
            "type": "integer",
          },
          "uri": {
            "type": "string",
          }
        },
        "required": ["name", "role"],
      }
    },
    "hash_tags": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "filter_tags": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "duration": {
      "type": "string",
    },
    "content_rating": {
      "type": "array",
      "items": {
        "type": "string",
      }
    },
    "aggregate_ratings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rating_source": {
            "type": "string",
          },
          "rating_score": {
            "type": "number",
          },
          "rating_count": {
            "type": "integer",
          }
        },
        "required": ["rating_source"],
      }
    },
    "available_time": {
      "type": "datetime",
    },
    "expire_time": {
      "type": "datetime",
    },
    "live_event_start_time": {
      "type": "datetime",
    },
    "live_event_end_time": {
      "type": "datetime",
    },
    "production_year": {
      "type": "integer",
    }
  },
  "required": ["title", "categories", "uri", "available_time"],
}

JSON Document 物件範例

以下範例顯示 JSON Document 物件的範例。

{
  "title": "Test document title",
  "description": "Test document description",
  "media_type": "sports-game",
  "in_languages": [
    "en-US"
  ],
  "language_code": "en-US",
  "categories": [
    "sports > clip",
    "sports > highlight"
  ],
  "uri": "http://www.example.com",
  "images": [
    {
      "uri": "http://example.com/img1",
      "name": "image_1"
    }
  ],
  "country_of_origin": "US",
  "content_index": 0,
  "transcript": "Test document transcript",
  "persons": [
    {
      "name": "sports person",
      "role": "player",
      "rank": 0,
      "uri": "http://example.com/person"
    },
  ],
  "organizations": [
    {
      "name": "sports team",
      "role": "team",
      "rank": 0,
      "uri": "http://example.com/team"
    },
  ],
  "hash_tags": [
    "tag1"
  ],
  "filter_tags": [
    "filter_tag"
  ],
  "duration": "100s",
  "production_year": 1900,
  "content_rating": [
    "PG-13"
  ],
  "aggregate_ratings": [
    {
      "rating_source": "imdb",
      "rating_score": 4.5,
      "rating_count": 1250
    }
  ],
  "available_time": "2022-08-26T23:00:17Z"
}

文件欄位

本節列出為資料存放區建立文件時提供的欄位值。這些值應與內部文件資料庫中使用的值相符,並準確反映所代表的項目。

Document 個物件欄位

下列欄位是 Document 物件的頂層欄位。另請參閱Document參考頁面上的這些欄位。

欄位名稱 附註
name 文件的完整專屬資源名稱。除了 createimport 以外,所有 Document 方法都必須使用這項屬性。匯入時,系統會自動產生名稱,不需要手動提供。
id 內部資料庫使用的文件 ID。ID 欄位在整個資料存放區中不得重複。記錄使用者事件時會使用相同的值,recommendsearch 方法也會傳回這個值。
schemaId 這是必要旗標,位於相同資料存放區的結構定義 ID。 應設為「default_schema」,這是建立預設資料存放區時自動建立的項目。
parentDocumentId 父項文件的 ID。對於頂層 (根) 文件,parent_document_id 可以是空白或指向自身。如果是子項文件,parent_document_id 應指向有效的根文件。

資源屬性欄位

下列欄位是使用媒體的預先定義 JSON 結構定義格式定義。

如要進一步瞭解 JSON 屬性,請參閱 json-schema.org 的「瞭解 JSON 結構定義」說明文件,瞭解屬性

下表定義了扁平欄位

欄位名稱 附註
title

字串 - 必填

資料庫中的文件標題。採用 UTF-8 編碼的字串。最多 1000 個半形字元。

categories

字串 - 必填

文件類別。如要支援屬於多個平行類別的文件,請重複使用這個屬性。使用完整類別路徑,獲得更高品質的結果。

如要表示類別的完整路徑,請使用 > 符號分隔階層。如果 > 是類別名稱的一部分,請改用其他字元。

例如:

"categories": [ "sports > highlight" ]

文件最多可包含 250 個類別。每個類別都是 UTF-8 編碼的字串,長度上限為 5000 個字元。

uri

字串 - 必填

文件的 URI。長度上限為 5000 個半形字元。

description

字串 - 強烈建議使用

文件說明。長度上限為 5000 個半形字元。

media_type

字串 - 電影和節目必須填寫這個欄位

頂層類別。

支援的類型:movieshowconcerteventlive-eventbroadcasttv-seriesepisodevideo-gameclipvlogaudioaudio-bookmusicalbumarticlesnewsradiopodcastbooksports-game

movieshow 這兩個值具有特殊意義。這類連結可豐富文件內容,提升排名,並協助使用者透過標題搜尋找到感興趣的替代內容。

language_code

字串 - 選用

標題/說明和其他字串屬性的語言。請使用 BCP 47 定義的語言標記。

如果是文件建議,系統會忽略這個欄位,並自動偵測文字語言。文件可以包含不同語言的文字,但複製文件以提供多種語言的文字可能會導致效能降低。

這個欄位用於搜尋文件。如未設定,預設值為「en-US」。 例如:"language_code": "en-US"

duration

字串 - 媒體推薦應用程式的必要欄位,業務目標為點閱率 (CVR) 或單次工作階段觀看時間。

媒體內容的長度。時間長度應編碼為字串。 編碼應與 google::protobuf::Duration JSON 字串編碼相同。例如:「5s」、「1m」

available_time

日期時間 - 必填

內容可供使用者觀看的時間。這個欄位會指出內容對使用者的實用程度。時間戳記應符合 RFC 3339 標準。

例如:

"2022-08-26T23:00:17Z"

如要依供應情形篩選,請參閱「篩選建議」和「篩選可用文件」。

expire_time

日期時間 - 選填

內容對使用者失效的時間。這個欄位會指出內容對使用者的實用程度。時間戳記應符合 RFC 3339 標準。

例如:

"2032-12-31T23:00:17Z"

如要從結果中排除過期文件,請參閱「篩選建議」和「篩選媒體搜尋」。

live_event_start_time

日期時間 - 選填

直播活動的開始時間。時間戳記應符合 RFC 3339 標準。

例如:

"2020-12-31T23:00:17Z"

live_event_end_time

日期時間 - 選填

直播活動結束的時間。時間戳記應符合 RFC 3339 標準。

例如:

"2024-01-28T23:00:17Z"

in_languages

字串 - 選用 - 重複

媒體內容的語言。使用 BCP 47 定義的語言標記。

例如:"in_languages": [ "en-US"]

country_of_origin

字串 - 選用

媒體文件原產地。長度上限為 128 個半形字元。

例如:"country_of_origin": "US"

transcript

字串 - 選用

媒體文件的轉錄稿。

content_index

整數 - 選用

媒體文件的內容索引。內容索引欄位可用於排序文件。舉例來說,集數可做為內容索引。

內容索引應為非負整數。

例如:"content_index": 0

filter_tags

字串 - 選用 - 重複

篩選文件的標記。每個文件最多可有 250 個值,長度上限為 1000 個字元。否則,系統會傳回 INVALID_ARGUMENT 錯誤。

你可以使用這些標記篩選搜尋結果和推薦內容。如要篩選建議結果,請將標記做為 RecommendRequest.filter 的一部分傳遞。這些標記只會用於篩選傳回的結果,標記的值不會影響搜尋和建議模型傳回的結果。

例如:"filter_tags": [ "grade_level", "season"]

hash_tags

字串 - 選用 - 重複

文件的 Hashtag。每個文件最多可有 100 個值,長度上限為 5,000 個字元。

例如:"hash_tags": [ "soccer", "world cup"]

production_year

整數 - 選用

媒體的製作年份。

content_rating

字串 - 選用 - 重複

內容分級,用於內容諮詢系統,以及根據觀眾篩選內容。每個文件最多可有 100 個值,長度上限為 128 個字元。

您可以將這個標記做為 RecommendRequest.filter 的一部分傳遞,藉此篩選建議結果。

例如:content_rating: ["PG-13"]

下表定義了階層式欄位。

欄位名稱 附註
images

物件 - 選用 - 重複

封裝圖片相關屬性的根鍵屬性。

images.uri

字串 - 選用

圖片的 URI。長度上限為 5,000 個半形字元。

images.name

字串 - 選用

圖片名稱。長度上限為 128 個半形字元。

persons

物件 - 選用 - 重複

封裝與人員相關屬性的根鍵屬性。

例如: "persons":[{"name":"sports person","role":"player","rank":0,"uri":"http://example.com/person"}]

persons.name

字串 - 必填

人員姓名。

persons.role

字串 - 必填

媒體項目中人物的角色。

支援的值:導演、演員、球員、團隊、聯盟、編輯、作者、角色、貢獻者、創作者、編輯、出資者、製作人、供應商、發布者、贊助者、譯者、音樂提供者、頻道、自訂角色

如果 role 未套用任何支援的值,請將 role 設為 custom-role,並在 custom_role 欄位中提供值。

persons.custom_role

字串 - 選用

只有在 role 設為 custom-role 時,才會設定 custom_role。必須是 UTF-8 編碼的字串,長度上限為 128 個字元。必須符合以下模式: [a-zA-Z0-9][a-zA-Z0-9_]*

persons.rank

整數 - 選用

用於角色排名。舉例來說,如果是第一個演員, role = "actor", rank = 1

persons.uri

字串 - 選用

人員的 URI。

organizations

物件 - 選用 - 重複

封裝 organization 相關屬性的根鍵屬性。

例如: "organizations ":[{"name":"sports team","role":"team","rank":0,"uri":"http://example.com/team"}]

organizations.name

字串 - 必填

機構名稱。

organizations.role

字串 - 必填

機構在媒體項目中扮演的角色。

支援的值:導演、演員、球員、團隊、聯盟、編輯、作者、角色、貢獻者、創作者、編輯、出資者、製作人、供應商、發布者、贊助者、譯者、音樂提供者、頻道、自訂角色

如果 role 未套用任何支援的值,請將 role 設為 custom-role,並在 custom_role 欄位中提供值。

organizations.custom_role

字串 - 選用

只有在 role 設為 custom-role 時,才會設定 custom_role。必須是 UTF-8 編碼的字串,長度上限為 128 個字元。必須符合以下模式: [a-zA-Z0-9][a-zA-Z0-9_]*

organizations.rank

字串 - 選用

用於角色排名。舉例來說,第一個發布者: role = "publisher", rank = 1

organizations.uri

字串 - 選用

機構的 URI。

aggregate_ratings

物件 - 選用 - 重複

封裝 aggregate_rating 相關屬性的根鍵屬性。

aggregate_ratings.rating_source

字串 - 必填

評分來源。例如 imdbrotten_tomatoes。必須是 UTF-8 編碼的字串,長度上限為 128 個字元。必須符合以下模式: [a-zA-Z0-9][a-zA-Z0-9_]*

aggregate_ratings.rating_score

Double - required

匯總評分。評分應正規化至 [1, 5] 範圍。

aggregate_ratings.rating_count

整數 - 選用

個別評論數量。應為非負值。

文件層級

文件層級會決定資料儲存庫的階層結構。通常您應該會有單層或雙層資料儲存庫。系統僅支援兩層。

舉例來說,您可以建立單層資料存放區,其中每個文件都是個別項目。或者,您也可以選擇包含項目群組和個別項目的兩層資料存放區。

文件層級類型

文件層級類型分為兩種:

  • 家長。父項文件是 Vertex AI Search

    建議和搜尋結果中。父項可以是個別文件或類似文件群組。建議使用這個層級類型。

  • 下層。子文件是群組上層文件的版本。 子女只能是個別文件。舉例來說,如果父項文件是「Example TV Show」,子項文件可以是「Episode 1」和「Episode 2」。這個層級類型難以設定及維護,因此不建議使用。

關於資料儲存庫階層

規劃資料存放區階層時,請決定資料存放區是否只應包含父項,或是父項和子項都應包含。請務必記得,建議和搜尋只會傳回父項文件。

舉例來說,如果資料存放區只包含父項,可能就適合有聲書,因為建議面板會傳回個別有聲書的選取項目。另一方面,如果將電視劇集上傳為僅限父項的資料存放區的父項文件,則同一個面板中可能會推薦多集順序錯誤的集數。

電視節目資料存放區可同時處理父項和子項,其中每個父項文件代表一個電視節目,子項文件則代表該電視節目的集數。這個雙層資料儲存庫可讓建議面板顯示一系列類似的電視節目。使用者可以點選特定節目,然後選取要觀看的集數。

由於父項/子項階層可能難以設定及維護,因此建議使用僅限父項的資料存放區。

舉例來說,電視節目資料存放區可以做為僅限父項的資料存放區,其中每個父項文件代表可推薦的電視節目,且不包含個別集數 (因此不會推薦)。

如果您判斷資料存放區需要同時包含父項和子項 (即群組和單一項目),但目前只有單一項目,則需要為群組建立父項。您至少需要提供家長的 idtitlecategories。詳情請參閱「文件欄位」一節。

媒體的 BigQuery 結構定義

如果您打算從 BigQuery 匯入文件,請使用預先定義的 BigQuery 結構定義建立格式正確的 BigQuery 表格,並載入文件資料,然後匯入文件

[
  {
    "name": "id",
    "mode": "REQUIRED",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "schemaId",
    "mode": "REQUIRED",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "parentDocumentId",
    "mode": "NULLABLE",
    "type": "STRING",
    "fields": []
  },
  {
    "name": "jsonData",
    "mode": "NULLABLE",
    "type": "STRING",
    "fields": []
  }
]

自訂結構定義

如果資料已採用結構定義格式,您可能決定不使用上述 Google 預先定義的結構定義。您可以改用自己的結構定義,並將結構定義中的欄位對應至媒體重要屬性。如要在建立資料媒體商店時對應結構定義,請使用Google Cloud 控制台。

如果您使用自己的結構定義,結構定義中必須有可對應至下列五項媒體重要屬性的欄位:

必要的重要屬性名稱 附註
title

字串 - 必填

資料庫中的文件標題。採用 UTF-8 編碼的字串。最多 1000 個半形字元。

uri

字串 - 必填

文件的 URI。長度上限為 5000 個半形字元。

category

字串 - 必填

文件類別。如要支援屬於多個平行類別的文件,請重複使用這個屬性。使用完整類別路徑,獲得更高品質的結果。

如要表示類別的完整路徑,請使用 > 符號分隔階層。如果 > 是類別名稱的一部分,請改用其他字元。

例如:

"categories": [ "sports > highlight" ]

文件最多可包含 250 個類別。每個類別都是 UTF-8 編碼的字串,長度上限為 5000 個字元。

media_available_time

日期時間 - 必填

內容可供使用者觀看的時間。這個欄位會指出內容對使用者的實用程度。時間戳記應符合 RFC 3339 標準。

例如:

"2022-08-26T23:00:17Z"

如要依供應情形篩選,請參閱「篩選建議」和「篩選可用文件」。

media_duration

字串 - 媒體推薦應用程式的必要欄位,業務目標為點閱率 (CVR) 或單次工作階段觀看時間。

媒體內容的長度。時間長度應編碼為字串。 編碼應與 google::protobuf::Duration JSON 字串編碼相同。例如:「5s」、「1m」

如果業務目標是盡量提高轉換率 (CVR) 或每位訪客的觀看時間,這個欄位對媒體建議應用程式就非常重要。

此外,還有一些重要屬性並非必要,但為了取得品質結果,請盡可能將這些屬性對應至結構定義。

這些重要屬性如下:

金鑰屬性名稱 附註
description

字串 - 強烈建議使用

文件說明。長度上限為 5000 個半形字元。

image

物件 - 選用 - 重複

封裝圖片相關屬性的根鍵屬性。

image_name

字串 - 選用

圖片名稱。長度上限為 128 個半形字元。

image_uri

字串 - 選用

圖片的 URI。長度上限為 5,000 個半形字元。

language-code

字串 - 選用

標題/說明和其他字串屬性的語言。請使用 BCP 47 定義的語言標記。

如果是文件建議,系統會忽略這個欄位,並自動偵測文字語言。文件可以包含不同語言的文字,但複製文件以提供多種語言的文字可能會導致效能降低。

這個欄位用於搜尋文件。如未設定,預設值為「en-US」。 例如:"language_code": "en-US"

media_aggregated_rating

物件 - 選用 - 重複

封裝 aggregate_rating 相關屬性的根鍵屬性。

media_aggregated_rating_count

整數 - 選用

個別評論數量。應為非負值。

media_aggregated_rating_score

Double - required

匯總評分。評分應正規化至 [1, 5] 範圍。

media_aggregated_rating_source

字串 - 必填

評分來源。例如 imdbrotten_tomatoes。必須是 UTF-8 編碼的字串,長度上限為 128 個字元。必須符合以下模式: [a-zA-Z0-9][a-zA-Z0-9_]*

media_content_index

整數 - 選用

媒體文件的內容索引。內容索引欄位可用於排序文件。舉例來說,集數可做為內容索引。

內容索引應為非負整數。

例如:"content_index": 0

media_content_rating

字串 - 選用 - 重複

內容分級,用於內容諮詢系統,以及根據觀眾篩選內容。每個文件最多可有 100 個值,長度上限為 128 個字元。

您可以將這個標記做為 RecommendRequest.filter 的一部分傳遞,藉此篩選建議結果。

例如:content_rating: ["PG-13"]

media_country_of_origin

字串 - 選用

媒體文件原產地。長度上限為 128 個半形字元。

例如:"country_of_origin": "US"

media_expire_time

日期時間 - 選填

內容對使用者失效的時間。這個欄位會指出內容對使用者的實用程度。時間戳記應符合 RFC 3339 標準。

例如:

"2032-12-31T23:00:17Z"

如要從結果中排除過期文件,請參閱「篩選建議」和「篩選媒體搜尋」。

live_event_start_time

日期時間 - 選填

直播活動的開始時間。時間戳記應符合 RFC 3339 標準。

例如:

"2020-12-31T23:00:17Z"

live_event_end_time

日期時間 - 選填

直播活動結束的時間。時間戳記應符合 RFC 3339 標準。

例如:

"2024-01-28T23:00:17Z"

media_filter_tag

字串 - 選用 - 重複

篩選文件的標記。每個文件最多可有 250 個值,長度上限為 1000 個字元。否則,系統會傳回 INVALID_ARGUMENT 錯誤。

您可以將這個標記做為 RecommendRequest.filter 的一部分傳遞,藉此篩選建議結果。

例如:"filter_tags": [ "filter_tag"]

media_hash_tag

字串 - 選用 - 重複

文件的 Hashtag。每個文件最多可有 100 個值,長度上限為 5,000 個字元。

例如:"hash_tags": [ "soccer", "world cup"]

media_in_language

字串 - 選用 - 重複

媒體內容的語言。使用 BCP 47 定義的語言標記。

例如:"in_languages": [ "en-US"]

media_organization

物件 - 選用 - 重複

封裝 organization 相關屬性的根鍵屬性。

例如: "organizations ":[{"name":"sports team","role":"team","rank":0,"uri":"http://example.com/team"}]

media_organization_custom_role

字串 - 選用

只有在 role 設為 custom-role 時,才會設定 custom_role。必須是 UTF-8 編碼的字串,長度上限為 128 個字元。必須符合以下模式: [a-zA-Z0-9][a-zA-Z0-9_]*

media_organization_name

字串 - 必填

機構名稱。

media_organization_rank

字串 - 選用

用於角色排名。舉例來說,如果是第一位發布者: role = "publisher", rank = 1

media_organization_role

字串 - 必填

機構在媒體項目中扮演的角色。

支援的值:導演、演員、球員、團隊、聯盟、編輯、作者、角色、貢獻者、創作者、編輯、出資者、製作人、供應商、發布者、贊助者、譯者、音樂提供者、頻道、自訂角色

如果 role 未套用任何支援的值,請將 role 設為 custom-role,並在 custom_role 欄位中提供值。

media_organization_uri

字串 - 選用

機構的 URI。

media_person

物件 - 選用 - 重複

封裝與人員相關屬性的根鍵屬性。

例如: "persons":[{"name":"sports person","role":"player","rank":0,"uri":"http://example.com/person"}]

media_person_custom_role

字串 - 選用

只有在 role 設為 custom-role 時,才會設定 custom_role。必須是 UTF-8 編碼的字串,長度上限為 128 個字元。必須符合以下模式: [a-zA-Z0-9][a-zA-Z0-9_]*

media_person_name

字串 - 必填

人員姓名。

media_person_rank

整數 - 選用

用於角色排名。舉例來說,如果是第一個演員, role = "actor", rank = 1

media_person_role

字串 - 必填

媒體項目中人物的角色。

支援的值:導演、演員、球員、團隊、聯盟、編輯、作者、角色、貢獻者、創作者、編輯、出資者、製作人、供應商、發布者、贊助者、譯者、音樂提供者、頻道、自訂角色

如果 role 未套用任何支援的值,請將 role 設為 custom-role,並在 custom_role 欄位中提供值。

media_person_uri

字串 - 選用

人員的 URI。

media_production_year

整數 - 選用

媒體的製作年份。

media_transcript

字串 - 選用

媒體文件的轉錄稿。

media_type

字串 - 電影和節目必須填寫這個欄位

頂層類別。

支援的類型:movieshowconcerteventlive-eventbroadcasttv-seriesepisodevideo-gameclipvlogaudioaudio-bookmusicalbumarticlesnewsradiopodcastbooksports-game

movieshow 這兩個值具有特殊意義。這類連結可豐富文件內容,提升排名,並協助使用者透過標題搜尋找到感興趣的替代內容。

如果您使用自己的結構定義,而非 Google 預先定義的結構定義,請參閱「提供或自動偵測結構定義」,瞭解如何格式化及匯入自己的結構定義。