2
0

[Google Drive API v3] JavaでDriveのファイルのラベルを更新する

Last updated at Posted at 2024-03-13

Google Drive API v3(Java)を使用して、
Driveに置かれているファイルのラベルを更新する方法
についてご紹介します。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Drive API v3] JavaでDrive APIを使う
を参照ください。

No 目次
1 ラベルを更新
1 スコープ
2 実行
3 レスポンスの内容

1. ラベルを更新

Driveにあるファイルのラベルを更新します。

1.1. スコープ

このAPIを実行するには、以下のいずれかのスコープを指定してください。

DriveScopes.DRIVE
DriveScopes.DRIVE_FILE
DriveScopes.DRIVE_METADATA

⧉[Google Drive API v3] JavaでDrive APIを使う(2.2 Driveインスタンスを取得)
でスコープを指定してください。

1.2. 実行

public static void main(String[] args) throws Exception{
    Drive drive = getDrive();
    Drive.Files files = drive.files();
    
    ModifyLabelsRequest labels = new ModifyLabelsRequest(); //変更したい内容をセットしてください。
    
    Drive.Files.ModifyLabels generateIdse = files.modifyLabels("ファイルID",labels);
    
    ModifyLabelsResponse res = generateIdse.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

POST: https://www.googleapis.com/drive/v3/files/{ファイルID}/modifyLabels
が実行されます。

1.2.2. クエリパラメータ

クエリパラメータはありません。

1.2.3. リクエストボディ

ModifyLabelsRequestのsetメソッドにより、リクエストボディを設定できます。

メソッド 引数 説明
setLabelModifications List<LabelModification> ファイルのラベルに適用するリスト

LabelModification

メソッド 戻り値 説明
setLabelId String 変更するラベルID
setFieldModifications List<LabelFieldModification> このラベルのフィールドに対する変更のリスト
setRemoveLabel Boolean ラベルを削除するか

LabelFieldModification

メソッド 戻り値 説明
setFieldId String 変更するフィールドID
setDateValues List<DateTime> フィールドの日付値
setTextValues List<String> フィールドのテキスト値
setSelectionValues List<String> フィールドの選択値
setIntegerValues List<Long> フィールドのInteger値
setUserValues List<String> フィールドのユーザー値
値は電子メールアドレス
setUnsetValues Boolean このフィールドの値の設定を解除するか

DateTime

メソッド 戻り値 説明
getValue long unixミリ秒
getTimeZoneShift int UTCからの分数で表されるタイムゾーン

1.3. レスポンスの内容

ModifyLabelsResponse

メソッド 戻り値 説明
getKind String リソースの種類
固定文字列:"drive#modifyLabelsResponse"
getModifiedLabels List<Label> リクエストによって追加または更新されたラベルのリスト

Label

メソッド 戻り値 説明
getId String ラベルID
getRevisionId String ラベルのリビジョン
getKind String リソースの種類
固定文字列:"drive#label"
getFields Map<String,LabelField> フィールドIDをキーとした、ラベル上のフィールドのマップ

LabelField

メソッド 戻り値 説明
getKind String リソースの種類
固定文字列:"drive#labelField"
getId String ラベルフィールドID
getValueType String フィールドタイプ
dateString、integer、selection、text、user
getDateString List<DateTime> 日付情報
valueTypeがdateStringの場合のみ
getInteger List<Long> 数値情報
valueTypeがintegerの場合のみ
getSelection List<String> 選択情報
valueTypeがselectionの場合のみ
getText List<String> テキスト情報
valueTypeがtextの場合のみ
getUser List<User> ユーザー情報
valueTypeがuserの場合のみ


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