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の場合のみ |
おしまい。。