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
});
重要な注意事項
- Quota制限: 各API呼び出しにはquotaコストがかかります
- Part指定: 必要なpartのみを指定してquotaを節約
- Rate Limiting: 短時間での大量リクエストは制限される場合があります
- プライバシー設定: 非公開設定のデータは取得できません
- 認証: 一部のデータ(自分のチャンネルの詳細な統計など)には認証が必要
※デフォルトの日次quota制限: 10,000ユニット
GASに関する他の記事を書いていきます。
ぜひ、参考にしてみてください。
スポンサーリンク
コメント