コメントと返信を管理する

コメントは、ファイルに関するユーザー提供のフィードバックです。たとえば、ワード プロセッシング ドキュメントの読者が文の言い換え方を提案するなどです。コメントには、アンカー付きコメントアンカーなしコメントの 2 種類があります。アンカー付きコメントは、特定のバージョンのドキュメント内の特定の場所(ワープロ ドキュメント内の文など)に関連付けられます。アンカーのないコメントは、ドキュメントに関連付けられているだけです。

返信はコメントに添付され、コメントに対するユーザーの返信を表します。Drive API を使用すると、ユーザーはアプリによって作成されたドキュメントにコメントと返信を追加できます。コメントと返信をまとめてディスカッションと呼びます。

アンカーなしのコメントを追加する

アンカーのないコメントをドキュメントに追加するには、fileId パラメータとコメントを含む comments リソースを指定して comments.create メソッドを呼び出します。

コメントはプレーンテキストとして挿入されますが、レスポンスの本文には、表示用にフォーマットされたコンテンツを含む htmlContent フィールドが用意されています。

コメントに返信を追加する

コメントに返信を追加するには、コメント、fileId パラメータ、返信を含む replies リソースを指定して replies.create メソッドを呼び出します。

返信はプレーンテキストとして挿入されますが、レスポンスの本文には、表示用にフォーマットされたコンテンツを含む htmlContent フィールドが用意されています。

ドキュメントの最新リビジョンにアンカリング コメントを追加する

コメントを追加するときに、ファイル内の特定の領域にアンカーを付けることができます。アンカーは、コメントが参照するファイルのリビジョンとファイル内の領域を定義します。comments リソースは、anchor フィールドを JSON 文字列として定義します。

アンカー付きコメントを追加するには:

  1. (省略可)revisions.list メソッドを呼び出して、ドキュメントのすべての revisionID を一覧表示します。この手順は、最新のリビジョン以外のリビジョンにコメントを固定する場合にのみ行います。最新のリビジョンを使用する場合は、revisionIDhead を使用します。

  2. fileID パラメータ、コメントを含む comments リソース、revisionIDr)とリージョン(a)を含む JSON アンカー文字列を指定して、comments.create メソッドを呼び出します。

領域の定義方法は、作業するドキュメント コンテンツの種類によって異なります。詳細については、リージョンを定義するをご覧ください。

リージョンを定義する

前述のように、JSON アンカー文字列には revisionIDr)とリージョン(a)が含まれています。リージョン(a)は、コメントがアンカーされる形式と位置を指定するリージョン分類子を含む JSON 配列です。分類子は、画像の 2 次元の長方形、ドキュメント内のテキスト行、動画内の時間などです。地域を定義するには、アンカーを設定するコンテンツの種類に一致する地域分類子を選択します。たとえば、コンテンツがテキストの場合は、txt または line リージョン分類子を使用することになります。

Drive API の地域分類子のリストについては、地域分類子をご覧ください。

次の例は、ドキュメントの 2 つの異なる領域の行にコメントをアンカーする JSON アンカー文字列を示しています。

  • 最初の領域は 12 行目('n':12)から始まり、3 行('l':3)にわたっています。
  • 2 番目の領域は、行 18('n':18, 'l':1`)のみを対象としています。
    {
      'r': 'REVISION_ID',
      'a': [
      {
        'line':
        {
          'n': 12,
          'l': 3,
        }
      },
      {
        'line':
        {
          'n': 18,
          'l': 1,
        }
      }]
    }

REVISION_ID は、head または特定のリビジョンの ID に置き換えます。

コメントを解決する

コメントに対応したら、comment.update メソッドを使用して comments リソースの resolved プロパティを true に設定します。

アプリで resolved プロパティが true に設定されると、UI にコメントが対処されたことを示す必要があります。たとえば、アプリは次のようなことを行えます。

  • 以降の返信を禁止し、以前の返信と元のコメントをすべて薄くします。
  • 解決済みのコメントを非表示] をクリックします。

コメントを削除する

comments.delete メソッドを使用してコメントを削除します。コメントが削除されると、ドライブはコメント リソースを "deleted": "true" としてマークします。

コメントの一覧表示

comments.list メソッドを使用してコメントを一覧表示します。削除されたコメントを結果に含める場合は、includedDeleted フィールドを true に設定します。