comments.markAsSpam
メソッドはサポートされなくなりました。次の例は、YouTube Data API(v3)を使用してコメントに関連する関数を実行する方法を示しています。
動画のコメントを取得する
動画のコメント スレッドのリストを取得するには、commentThreads.list
メソッドを呼び出します。リクエストに次のパラメータ値を設定します。
-
part
: トップレベル コメントのみを取得する場合は、パラメータ値をsnippet
に設定します。トップレベル コメントに対する返信も取得する場合は、snippet,replies
に設定します。(commentThread
リソースには、必ずしもコメントに対するすべての返信が含まれているわけではありません。特定のコメントに対するすべての返信を取得するには、comments.list
メソッドを使用する必要があります)。 -
videoId
: コメントを取得する動画の YouTube 動画 ID を指定します。
以下のリクエストは、2014 年の Google I/O カンファレンスの基調講演の動画(動画 ID wtLJPvx7-ys
)に関連するコメントとコメントの返信を取得します。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &videoId=wtLJPvx7-ys
チャンネルに関するコメントやチャンネルに関連付けられたコメントを取得する
この API では、チャンネルに関するコメント スレッドを取得する機能や、チャンネルに関連付けられているすべてのコメント スレッドを取得する機能がサポートされています。後者の場合、API にはチャンネルまたはチャンネルの動画に関するコメントが含まれる可能性があります。
- チャンネルに関するコメントを取得するには、動画のコメントを取得するの手順に沿って操作します。ただし、
videoId
パラメータを設定するのではなく、channelId
パラメータを設定してチャネルを識別します。 - チャンネルに関連付けられたコメントを取得するには、動画のコメントを取得する手順に沿って操作します。ただし、
videoId
パラメータを設定するのではなく、allThreadsRelatedToChannelId
パラメータを設定してチャネルを識別します。
以下のリクエストは、YouTube チャンネル GoogleDevelopers に関連付けられているすべてのコメント スレッドを取得します。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
コメントを追加しています
commentThreads.insert
メソッドを呼び出して、チャンネルまたは動画に新しいトップレベル コメントを追加します。リクエストの part
パラメータ値を snippet
に設定します。リクエストの本文は commentThread resource
で、snippet.topLevelComment[].snippet[].textOriginal
プロパティにはコメント テキストが含まれます。このリクエストは OAuth 2.0 を使用して承認される必要があります。
- チャンネルにコメントを追加するには、
snippet.channelId
プロパティを使用してチャンネルを指定します。 - 動画にコメントを追加するには、
snippet.channelId
プロパティを使用して、動画をアップロードしたチャンネルを指定します。また、snippet.videoId
プロパティを使用して動画を識別します。
次のサンプル リクエストでは、動画にコメントを追加します。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.insert? part=snippet
このリクエストによって、以下に示すリソースが挿入されます。
{ "snippet": { "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw", "topLevelComment": { "snippet": { "textOriginal": "This video is awesome!" } }, "videoId": "MILSirUni5E" } }
コメントに返信する
comments.insert
メソッドを呼び出してコメントに返信します。リクエストの part
パラメータ値を snippet
に設定します。リクエストの本文は comment resource
で、snippet.textOriginal
プロパティにはコメント テキストが含まれます。snippet.parentId
プロパティは、返信に関連付けられたコメントを識別します。この値は commentThread resource's ID
です。このリクエストは OAuth 2.0 を使用して承認される必要があります。
次のサンプル リクエストでは、既存のコメントに返信を追加します。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.insert? part=snippet
このリクエストによって、以下に示すリソースが挿入されます。APIs Explorer でリクエストを実行するには、snippet.parentId
プロパティの値を使用して、返信に関連付けられた最上位のコメントを指定します。commentThread
リソースでは、snippet.topLevelComment[].id
プロパティにリソースの一意の ID を指定します。
{ "snippet": { "parentId": "COMMENT_THREAD_ID", "textOriginal": "That is true." } }
最上位のコメントまたはコメント返信を更新する
最上位コメントのテキストまたは最上位コメントに対する返信のテキストを更新するには、comments.update
メソッドを呼び出します。part
パラメータの値を snippet
に設定します。リクエストの本文では、id
プロパティに、変更するコメントと新しいコメント テキストを指定します。
- トップレベル コメントを識別する
commentThread
リソースでは、snippet.topLevelComment[].id
プロパティにコメントの一意の ID を指定します。 - トップレベル コメントまたはコメントへの返信を識別できる
comment
リソースでは、id
プロパティにコメントの一意の ID を指定します。
以下のサンプル リクエストでは、既存のコメントのテキストを更新します。
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.update? part=snippet
リクエストの本文には、以下に示す JSON スニペットが含まれます。APIs Explorer でリクエストを実行するには、id
プロパティの値を設定して、更新するコメントを指定します。リクエストはコメントの作成者の承認を得る必要があります。
{ "id": "COMMENT_ID", "snippet": { "textOriginal": "That is true." } }
コメントの管理ステータスを設定する
コメントの管理ステータスを設定するには、comments.setModerationStatus
メソッドを呼び出します。この操作は、チャンネル所有者がチャンネルやチャンネルの動画へのコメントを管理するときに使用されます。
このメソッドを呼び出すときは、id
パラメータの値を設定してコメントを識別します。また、moderationStatus
パラメータを目的のステータスに設定します。コメントのステータスを調整できるのは、コメントが表示されているチャンネルの所有者のみです。
-
ステップ 1: 確認のために保留中のコメントを取得する
commentThreads.list
メソッドを呼び出して、チャンネルまたは動画のコメントを取得します。moderationStatus
パラメータの値をheldForReview
に設定します。API レスポンスを使用してコメントのリストを表示し、チャンネル所有者はコメントを個別に公開または拒否することができます。 -
ステップ 2: コメントの管理ステータスを更新する
comments.setModerationStatus
メソッドを呼び出して、コメントのステータスを更新します。id
パラメータの値を使用して、コメントの一意の ID を指定します。moderationStatus
パラメータをpublished
またはrejected
に設定します。コメントを拒否する場合は、banAuthor
パラメータをtrue
に設定して、作成者がチャンネルや動画にこれ以上コメントできないようにすることもできます。
注: この API では、不承認となったコメントを一覧表示または検出することはできません。ただし、コメントの一意の ID がわかっている場合は、拒否されたコメントの管理ステータスを published
に変更できます。また、コメントの管理ステータスを published
または rejected
に更新すると、管理ステータスを heldForReview
に戻すことはできません。
コメントを削除する
次の例は、コメントを削除する方法を示しています。この例の手順は次のとおりです。
-
ステップ 1: コメント ID を取得する
上記の手順に沿って、動画またはチャンネルのコメントのリストを取得します。コメントを削除できるのは投稿者だけです。そのため、
comment
リソースのsnippet.authorChannelId.value
プロパティの値を認証済みユーザーのチャンネル ID と比較し、ユーザーがそのコメントを削除できるかどうか判断する必要があります。 -
ステップ 2: コメントやコメント スレッドを削除する
削除するコメント スレッドまたはコメントの ID を特定したら、
comments.delete
メソッドを呼び出してそのコメントを削除します。id
パラメータ値を使用して、削除するコメント ID またはコメント スレッド ID を指定します。リクエストは OAuth 2.0 を使用して承認される必要があります。API Explorer でこのクエリをテストする場合は、以下のリクエストのid
パラメータ値を有効なコメント ID またはコメント スレッド ID に置き換える必要があります。https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete? id=COMMENT_ID