1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Google Drive API v3] Javaでファイルのコメントの返信(リプライ)を取得する

Posted at

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 利用可能な場合、ユーザーのプロフィール写真へのリンク


おしまい。。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?