Google Drive API v3(Java)を使用して、
Driveに置かれているファイルのコメントを取得する方法
についてご紹介します。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Drive API v3] JavaでDrive APIを使う
を参照ください。
| No | 目次 | |
|---|---|---|
| 1 | コメントリストを取得 | |
| 1 | スコープ | |
| 2 | 実行 | |
| 3 | レスポンスの内容 | |
| 2 | コメントを取得 | |
| 1 | スコープ | |
| 2 | 実行 | |
| 3 | レスポンスの内容 |
1. コメントリストを取得
1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
DriveScopes.DRIVE
DriveScopes.DRIVE_FILE
DriveScopes.DRIVE_READONLY
⧉[Google Drive API v3] JavaでDrive APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。
1.2. 実行
コメントを取得したいファイルのファイルIDを指定します。
setFieldsで取得したいフィールド(CommentList)を指定します。
指定しないとエラーになります。
ここでは「*」(全て取得)を指定しています。
レスポンスのgetNextPageTokenがNULLではない場合、
全てのリストが取得できていません。
クエリパラメータのsetPageTokenに取得できた値を設定し、
再度APIを実行します。
public static void main(String[] args) throws Exception{
Drive drive = getDrive();
Drive.Comments comments = drive.comments();
Drive.Comments.List list = comments.list("ファイルID");
list.setFields("*");
//レスポンスのgetNextPageTokenがNULLではない場合
//list.setPageToken("レスポンスのgetNextPageToken");
CommentList res = list.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://www.googleapis.com/drive/v3/files/{ファイルID}/comments
が実行されます。
1.2.2. クエリパラメータ
Drive.Comments.Listのsetメソッドにより、クエリパラメータを追加できます。
| メソッド | 引数 | 説明 |
|---|---|---|
| setIncludeDeleted | Boolean | 削除されたコメントを含めるか |
| setPageSize | Integer | ページごとに返されるコメントの最大数 |
| setPageToken | String | 次のページで前のリスト要求を継続するためのトークン レスポンスのgetNextPageTokenで取得が可能 |
| setStartModifiedTime | String | レスポンスのgetModifiedTimeの最小値 |
1.3. レスポンスの内容
CommentList
| フィールド | メソッド | 戻り値 | 説明 |
|---|---|---|---|
| kind | getKind | String | リソースの種類 固定文字列:"drive#commentList" |
| comments | getComments | List<Comment> | コメントのリスト |
| nextPageToken | getNextPageToken | String | 次のページのページトークン リストの最後の場合はNULL |
2. コメントを取得
2.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
DriveScopes.DRIVE
DriveScopes.DRIVE_FILE
DriveScopes.DRIVE_READONLY
⧉[Google Drive API v3] JavaでDrive APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。
2.2. 実行
取得したいコメントがあるファイルのファイルIDとコメントIDを指定します。
setFieldsで取得したいフィールド(Comment)を指定します。
指定しないとエラーになります。
ここでは「*」(全て取得)を指定しています。
public static void main(String[] args) throws Exception{
Drive drive = getDrive();
Drive.Comments comments = drive.comments();
Drive.Comments.Get get = comments.get("ファイルID","コメントID");
get.setFields("*");
Comment res = get.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
GET: https://www.googleapis.com/drive/v3/files/{ファイルID}/comments/{コメントID}
が実行されます。
2.2.2. クエリパラメータ
Drive.Comments.Getのsetメソッドにより、クエリパラメータを追加できます。
| メソッド | 引数 | 説明 |
|---|---|---|
| setIncludeDeleted | Boolean | 削除されたコメントを返すか |
2.3. レスポンスの内容
Comment
| フィールド | メソッド | 戻り値 | 説明 |
|---|---|---|---|
| id | getId | String | コメントID |
| kind | getKind | String | リソースの種類 固定文字列:"drive#comment" |
| createdTime | getCreatedTime | String | コメントが作成された時刻 |
| modifiedTime | getModifiedTime | String | コメントまたはその返信が最後に変更された時刻 |
| resolved | getResolved | Boolean | コメントがいずれかの返信によって解決されたか |
| anchor | getAnchor | String | JSON文字列として表されるドキュメントの領域 |
| replies | getReplies | List<Reply> | コメントに対する返信の完全なリスト |
| author | getAuthor | User | コメントの作成者 |
| deleted | getDeleted | Boolean | コメントが削除されているか |
| htmlContent | getHtmlContent | String | HTML形式のコメントの内容 |
| content | getContent | String | コメントのプレーンテキストの内容 |
| quotedFileContent | getQuotedFileContent | Comment.QuotedFileContent | コメントが参照するファイルのコンテンツ |
Reply
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getId | String | 返信(リプライ)ID |
| getKind | String | リソースの種類 固定文字列:"drive#reply" |
| getCreatedTime | String | 応答が作成された時刻 |
| getModifiedTime | String | 応答が最後に変更された時刻 |
| getAction | String | 返信が親コメントに対して実行したアクション resolve、reopen |
| getAuthor | User | 返信の作成者 |
| getDeleted | Boolean | 返信が削除されたか |
| getHtmlContent | String | HTML形式での返信の内容 |
| getContent | String | 返信のプレーンテキストの内容 |
User
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getDisplayName | String | 表示名 |
| getEmailAddress | String | ユーザーの電子メールアドレス |
| getKind | String | リソースの種類 固定文字列:"drive#user" |
| getMe | Boolean | このユーザーが要求ユーザーであるか |
| getPermissionId | String | 権限リソースに表示されるユーザーID |
| getPhotoLink | String | 利用可能な場合、ユーザーのプロフィール写真へのリンク |
Comment.QuotedFileContent
| メソッド | 戻り値 | 説明 |
|---|---|---|
| getMimeType | String | 引用されたコンテンツのMIMEタイプ |
| getValue | String | 引用した内容 |
おしまい。。