LoginSignup
1
0

[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を指定します。

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 引用した内容


おしまい。。
1
0
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
0