【GAS】YouTube Data API v3 取得可能データ一覧

1. Channels(チャンネル)

チャンネルに関する情報を取得

snippet: 基本情報

  • id: チャンネルID
  • title: チャンネル名
  • description: チャンネル説明
  • customUrl: カスタムURL
  • publishedAt: 開設日時
  • thumbnails: サムネイル画像
    • default (88×88)
    • medium (240×240)
    • high (800×800)
  • defaultLanguage: デフォルト言語
  • localized: ローカライズされたタイトル・説明
  • country: 国コード

statistics: 統計情報

  • subscriberCount: 登録者数
  • videoCount: 動画数
  • viewCount: 総視聴回数
  • hiddenSubscriberCount: 登録者数非表示設定

status: ステータス情報

  • privacyStatus: プライバシーステータス
  • isLinked: リンクされているかどうか
  • longUploadsStatus: 長時間動画アップロードステータス

brandingSettings: ブランディング設定

  • channel: チャンネルブランディング設定
    • title
    • description
    • keywords
    • etc.
  • image: 画像設定
    • bannerExternalUrl
    • bannerMobileImageUrl, etc.
  • watch: 視聴ページ設定
    • textColor
    • backgroundColor
    • etc.

contentDetails: コンテンツ詳細

  • relatedPlaylists: 関連プレイリスト
    • likes
    • uploads
    • watchHistory
    • watchLater

contentOwnerDetails: コンテンツオーナー詳細

invideoPromotion: 動画内プロモーション

localizations: ローカライゼーション

topicDetails: トピック詳細

スポンサーリンク

チャンネル情報の取得(サンプルコード)

// チャンネル情報を取得
const channelResponse = YouTube.Channels.list('snippet,statistics,status', {
  id: 'CHANNEL_ID'
});

スポンサーリンク

2. Videos(動画)

動画に関する情報を取得

snippet: 基本情報

  • videoId: 動画ID
  • title: タイトル
  • description: 説明
  • channelId: チャンネルID
  • channelTitle: チャンネル名
  • publishedAt: 公開日時
  • thumbnails: サムネイル画像
  • tags: タグ
  • categoryId: カテゴリID
  • liveBroadcastContent: ライブ配信コンテンツ
  • defaultLanguage: デフォルト言語
  • defaultAudioLanguage: デフォルト音声言語

statistics: 統計情報

  • viewCount: 視聴回数
  • likeCount: 高評価数
  • dislikeCount: 低評価数(現在は非公開)
  • favoriteCount: お気に入り数
  • commentCount: コメント数

status: ステータス情報

  • uploadStatus: アップロードステータス
  • privacyStatus: プライバシーステータス
  • license: ライセンス
  • embeddable: 埋め込み可能かどうか
  • publicStatsViewable: 統計公開可能かどうか

contentDetails: コンテンツ詳細

  • duration: 動画の長さ(ISO 8601形式)
  • dimension: 次元(2d/3d)
  • definition: 解像度(hd/sd)
  • caption: 字幕の有無
  • licensedContent: ライセンスコンテンツかどうか
  • regionRestriction: 地域制限
  • contentRating: コンテンツレーティング

recordingDetails: 録画詳細

fileDetails: ファイル詳細

processingDetails: 処理詳細

suggestions: 提案

player: プレーヤー情報

topicDetails: トピック詳細

localizations: ローカライゼーション

liveStreamingDetails: ライブ配信詳細

スポンサーリンク

動画情報の取得(サンプルコード)

// 動画情報を取得
const videoResponse = YouTube.Videos.list('snippet,statistics,contentDetails', {
  id: 'VIDEO_ID'
});

スポンサーリンク

3. Playlists(プレイリスト)

プレイリストに関する情報を取得

snippet: 基本情報

  • playlistId: プレイリストID
  • title: タイトル
  • description: 説明
  • channelId: チャンネルID
  • channelTitle: チャンネル名
  • publishedAt: 作成日時
  • thumbnails: サムネイル画像
  • defaultLanguage: デフォルト言語

status: ステータス情報

contentDetails: コンテンツ詳細

  • itemCount: アイテム数

player: プレーヤー情報

localizations: ローカライゼーション

スポンサーリンク

プレイリスト情報の取得(サンプルコード)

// プレイリスト取得
const playlistResponse = YouTube.Playlists.list('snippet,contentDetails', {
  channelId: 'CHANNEL_ID',
  maxResults: 25
});

スポンサーリンク

4. PlaylistItems(プレイリストアイテム)

プレイリスト内の動画に関する情報

snippet: 基本情報

  • playlistId: プレイリストID
  • channelId: チャンネルID
  • title: タイトル
  • description: 説明
  • thumbnails: サムネイル画像
  • channelTitle: チャンネル名
  • playlistId: プレイリストID
  • position: プレイリスト内の位置
  • resourceId: リソースID(videoId含む)
  • videoOwnerChannelTitle: 動画所有者チャンネル名
  • videoOwnerChannelId: 動画所有者チャンネルID

contentDetails: コンテンツ詳細

  • videoId: 動画ID
  • startAt: 開始時間(指定されている場合)
  • endAt: 終了時間(指定されている場合)
  • note: メモ(指定されている場合)
  • videoPublishedAt: 動画の公開日時

status: ステータス情報

  • privacyStatus: プライバシーステータス(public, unlisted, private)

スポンサーリンク

プレイリストアイテムの取得(サンプルコード)

// プレイリストアイテムの取得
const playlistItemsresponse = YouTube.PlaylistItems.list('snippet,contentDetails,status',{
  playlistId: PLAYLIST_ID,
  maxResults: 50 
});

5. Search(検索)

検索結果に関する情報

snippet: 基本情報のみ

  • kind: リソースタイプ(video/channel/playlist)
  • etag: ETag
  • id: 各リソースのID
  • snippet: 各リソースの基本情報

検索の実行(サンプルコード)

// 検索実行
const searchResponse = YouTube.Search.list('snippet', {
  q: '検索キーワード',
  type: 'video',
  maxResults: 10
});

6. Comments(コメント)

コメントに関する情報

snippet: 基本情報

  • authorDisplayName: 投稿者表示名
  • authorProfileImageUrl: 投稿者プロフィール画像URL
  • authorChannelUrl: 投稿者チャンネルURL
  • authorChannelId: 投稿者チャンネルID
  • videoId: 動画ID
  • textDisplay: 表示テキスト
  • textOriginal: 元テキスト
  • likeCount: 高評価数
  • publishedAt: 投稿日時
  • updatedAt: 更新日時

コメントの取得(サンプルコード)

// コメント取得
const commentResponse = YouTube.CommentThreads.list('snippet,replies', {
  videoId: 'VIDEO_ID',
  maxResults: 20
});

7. CommentThreads(コメントスレッド)

コメントスレッドに関する情報

snippet: 基本情報

  • videoId: 動画ID
  • textDisplay: 表示用テキスト(HTMLタグ処理済み)
  • textOriginal: 元テキスト
  • authorDisplayName: 投稿者表示名
  • authorProfileImageUrl: 投稿者プロフィール画像URL
  • authorChannelUrl: 投稿者チャンネルURL
  • authorChannelId: 投稿者チャンネルID
  • canRate: 評価可能かどうか
  • totalReplyCount: 返信総数
  • likeCount: 高評価数
  • publishedAt: 投稿日時
  • updatedAt: 更新日時

replies: 返信

  • comments: 返信コメントの配列
    各返信は上記のsnippet構造と同様

コメントスレッドの取得(サンプルコード)

// コメントスレッドの取得
const commentthreadsresponse = YouTube.CommentThreads.list('snippet,replies', {
  videoId: VIDEO_ID,
  maxResults: 100, 
  order: 'time'   // time, relevance
});

8. Subscriptions(登録)

登録に関する情報

snippet: 基本情報

  • publishedAt: 登録日時
  • channelTitle: 登録者のチャンネル名
  • title: 登録先チャンネル名
  • description: 登録先チャンネルの説明
  • resourceId: リソース情報
    ・channelId: 登録先チャンネルID
  • channelId: 登録者のチャンネルID
  • thumbnails: サムネイル画像

contentDetails: コンテンツ詳細

  • totalItemCount: アイテム総数
  • newItemCount: 新しいアイテム数
  • activityType: アクティビティタイプ

subscriberSnippet: 登録者情報

登録情報の取得(サンプルコード)

// 登録情報の取得
const subscriptionsresponse = YouTube.Subscriptions.list('snippet,contentDetails,subscriberSnippet', {
  mine: true,  // 自分の登録情報を取得
  maxResults: 50
});

9. Activities(アクティビティ)

チャンネルのアクティビティ情報

snippet: 基本情報

  • publishedAt: アクティビティ発生日時
  • channelId: チャンネルID
  • channelTitle: チャンネル名
  • title: アクティビティのタイトル
  • description: アクティビティの説明
  • type: アクティビティタイプ
  • groupId: グループID
  • thumbnails: サムネイル画像

contentDetails: コンテンツ詳細

アクティビティ情報の取得(サンプルコード)

// アクティビティ情報の取得
const activitiesresponse = YouTube.Activities.list('snippet,contentDetails', {
  channelId: CHANNEL_ID,
  maxResults: 25
});

重要な注意事項

  1. Quota制限: 各API呼び出しにはquotaコストがかかります
  2. Part指定: 必要なpartのみを指定してquotaを節約
  3. Rate Limiting: 短時間での大量リクエストは制限される場合があります
  4. プライバシー設定: 非公開設定のデータは取得できません
  5. 認証: 一部のデータ(自分のチャンネルの詳細な統計など)には認証が必要

※デフォルトの日次quota制限: 10,000ユニット

Youtube Data API v3 リファレンス

GASに関する他の記事を書いていきます。
ぜひ、参考にしてみてください。

スポンサーリンク

コメント

タイトルとURLをコピーしました