コメントは、ファイルに関するユーザー提供のフィードバックです。たとえば、ワード プロセッシング ドキュメントの読者が文の言い換え方を提案するなどです。コメントには、アンカー付きコメントとアンカーなしコメントの 2 種類があります。アンカー付きコメントは、特定のバージョンのドキュメント内の特定の場所(ワープロ ドキュメント内の文など)に関連付けられます。アンカーのないコメントは、ドキュメントに関連付けられているだけです。
返信はコメントに添付され、コメントに対するユーザーの回答を表します。Drive API を使用すると、ユーザーはアプリで作成されたドキュメントにコメントや返信を追加できます。返信付きのコメントのことをディスカッションと呼びます。
アンカーなしのコメントを追加する
アンカーされていないコメントをドキュメントに追加するには、fileId
パラメータとコメントを含む comments
リソースを指定して、comments.create
メソッドを呼び出します。
コメントはプレーンテキストとして挿入されますが、レスポンスの本文には、表示用にフォーマットされたコンテンツを含む htmlContent
フィールドが用意されています。
コメントに返信を追加する
コメントに返信を追加するには、コメント、fileId
パラメータ、返信を含む replies
リソースを指定して replies.create
メソッドを呼び出します。
返信はプレーンテキストとして挿入されますが、レスポンスの本文には、表示用にフォーマットされたコンテンツを含む htmlContent
フィールドが用意されています。
ドキュメントの最新の版に固定されたコメントを追加する
コメントを追加するときは、ファイル内の領域にコメントを固定することをおすすめします。アンカーは、コメントが参照するファイルのリビジョンとファイル内の領域を定義します。comments
リソースは、anchor
フィールドを JSON 文字列として定義します。
アンカー付きコメントを追加するには:
(省略可)
revisions.list
メソッドを呼び出して、ドキュメントのすべてのrevisionID
を一覧表示します。この手順は、最新のリビジョン以外のリビジョンにコメントを固定する場合にのみ行います。最新のリビジョンを使用する場合は、revisionID
にhead
を使用します。fileID
パラメータ、コメントを含むcomments
リソース、revisionID
(r
)とリージョン(a
)を含む JSON アンカー文字列を指定して、comments.create
メソッドを呼び出します。
リージョンの定義方法は、作業するドキュメント コンテンツの種類によって異なります。詳細については、リージョンを定義するをご覧ください。
リージョンを定義する
前述のように、JSON アンカー文字列には revisionID
(r
)とリージョン(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
に設定します。