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とコメントIDを指定します。
setFieldsで取得したいフィールド(ReplyList)を指定します。
指定しないとエラーになります。
ここでは「*」(全て取得)を指定しています。
レスポンスのgetNextPageTokenがNULLではない場合、
全てのリストが取得できていません。
クエリパラメータのsetPageTokenに取得できた値を設定し、
再度APIを実行します。
public static void main(String[] args) throws Exception{
Drive drive = getDrive();
Drive.Replies replies = drive.replies();
Drive.Replies.List list = replies.list("ファイルID", "コメントID");
list.setFields("*");
//レスポンスのgetNextPageTokenがNULLではない場合
//list.setPageToken("レスポンスのgetNextPageToken");
ReplyList res = list.execute();
System.out.println(res);
}
1.2.1. HTTPリクエスト
GET: https://www.googleapis.com/drive/v3/files/{ファイルID}/comments/{コメントID}/replies
が実行されます。
1.2.2. クエリパラメータ
Drive.Replies.Listのsetメソッドにより、クエリパラメータを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setPageSize | Integer | ページごとに返されるコメントの最大数 |
setPageToken | String | 次のページで前のリスト要求を継続するためのトークン レスポンスのgetNextPageTokenで取得が可能 |
setIncludeDeleted | Boolean | 削除された返信を含めるか |
1.3. レスポンスの内容
ReplyList
フィールド | メソッド | 戻り値 | 説明 |
---|---|---|---|
kind | getKind | String | リソースの種類 固定文字列:"drive#revisionList" |
nextPageToken | getNextPageToken | String | 次のページのページトークン リストの最後の場合はNULL |
replies | getReplies | List<Reply> | リプライリスト |
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、リプライIDを指定します。
setFieldsで取得したいフィールド(Reply)を指定します。
指定しないとエラーになります。
ここでは「*」(全て取得)を指定しています。
public static void main(String[] args) throws Exception{
Drive drive = getDrive();
Drive.Replies replies = drive.replies();
Drive.Replies.Get get = replies.get("ファイルID", "コメントID","リプライID");
get.setFields("*");
Reply res = get.execute();
System.out.println(res);
}
2.2.1. HTTPリクエスト
GET: https://www.googleapis.com/drive/v3/files/{ファイルID}/comments/{コメントID}/replies/{リプライID}
が実行されます。
2.2.2. クエリパラメータ
Drive.Revisions.Getのsetメソッドにより、クエリパラメータを追加できます。
メソッド | 引数 | 説明 |
---|---|---|
setIncludeDeleted | Boolean | 削除された返信を含めるか |
2.3. レスポンスの内容
Reply
フィールド | メソッド | 戻り値 | 説明 |
---|---|---|---|
id | getId | String | リプライID |
kind | getKind | String | リソースの種類 固定文字列:"drive#reply" |
createdTime | getCreatedTime | String | 応答が作成された時刻 |
modifiedTime | getModifiedTime | String | 応答が最後に変更された時刻 |
action | getAction | String | 返信が親コメントに対して実行したアクション resolve、reopen |
author | getAuthor | User | 返信の作成者 |
deleted | getDeleted | Boolean | 返信が削除されたか |
htmlContent | getHtmlContent | String | HTML形式での返信の内容 |
content | getContent | String | 返信のプレーンテキストの内容 |
User
メソッド | 戻り値 | 説明 |
---|---|---|
getDisplayName | String | 表示名 |
getEmailAddress | String | ユーザーの電子メールアドレス |
getKind | String | リソースの種類 固定文字列:"drive#user" |
getMe | Boolean | このユーザーが要求ユーザーであるか |
getPermissionId | String | 権限リソースに表示されるユーザーID |
getPhotoLink | String | 利用可能な場合、ユーザーのプロフィール写真へのリンク |
おしまい。。