LoginSignup
1
0

[Google Drive API v3] JavaでDriveにインストールされているアプリの情報を取得する

Posted at

Google Drive API v3(Java)を使用して、
Driveにインストールされているアプリの情報を取得する方法
についてご紹介します。
アプリとは、「Google スライド」、「Google 図形描画」、「Google フォーム」、
「Google Apps Script」、「Google スプレッドシート」などのことを指します。

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

No 目次
1 アプリリストを取得
1 スコープ
2 実行
3 レスポンスの内容
2 アプリの情報を取得
1 スコープ
2 実行
3 レスポンスの内容

1. アプリリストを取得

1.1. スコープ

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

DriveScopes.DRIVE_APPS_READONLY

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

1.2. 実行

APIを実行します。

setFieldsで取得したいフィールド(AppList)を指定できます。
指定しない場合は、必要最小限のレスポンスしか返ってきません。
ここでは「*」(全て取得)を指定しています。

アプリの名前などを日本語で取得したい場合は、
Drive.Apps.ListのsetLanguageCodeで言語を指定します。

例えば、日本語を指定した場合、取得できるアプリの名前は、
「Google Slides」 -> 「Google スライド」 となります。

public static void main(String[] args) throws Exception{
    Drive drive = getDrive();
    Drive.Apps apps = drive.apps();
    
    Drive.Apps.List list = apps.list();
    list.setFields(*);
    //アプリの名前等を日本語で取得したい場合
    //list.setLanguageCode("ja");
    
    AppList res = list.execute();
    System.out.println(res);
}

1.2.1. HTTPリクエスト

GET: https://www.googleapis.com/drive/v3/apps
が実行されます。

1.2.2. クエリパラメータ

Drive.Apps.Listのsetメソッドにより、クエリパラメータを追加できます。

メソッド 引数 説明
setAppFilterExtensions String 返される結果を制限するファイル拡張子のカンマ区切りのリスト
setAppFilterMimeTypes String 返される結果を制限するMIMEタイプのカンマ区切りのリスト
languageCode String 言語コード

1.3. レスポンスの内容

AppList

フィールド メソッド 戻り値 説明
defaultAppIds getDefaultAppIds List<String> ユーザーがデフォルトで使用するように指定したアプリIDのリスト
kind getKind String リソースの種類
固定文字列:"drive#appList"
selfLink getSelfLink String このリストへのリンク
items getItems List<App> アプリのリスト

2. アプリの情報を取得

2.1. スコープ

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

DriveScopes.DRIVE
DriveScopes.DRIVE_APPDATA
DriveScopes.DRIVE_READONLY
DriveScopes.DRIVE_FILE
DriveScopes.DRIVE_METADATA
DriveScopes.DRIVE_METADATA_READONLY
DriveScopes.DRIVE_READONLY

2.2. 実行

情報を取得したいアプリIDを指定します。

setFieldsで取得したいフィールド(App)を指定できます。
指定しない場合は、必要最小限のレスポンスしか返ってきません。
ここでは「*」(全て取得)を指定しています。

public static void main(String[] args) throws Exception{
    Drive drive = getDrive();
    Drive.Apps apps = drive.apps();
    
    Drive.Apps.Get get = apps.get("アプリID");
    get.setFields(*);
    
	App res = get.execute();
    System.out.println(res);
}

2.2.1. HTTPリクエスト

GET: https://www.googleapis.com/drive/v3/apps/{アプリID}
が実行されます。

2.2.2. クエリパラメータ

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

2.3. レスポンスの内容

App

フィールド メソッド 戻り値 説明
id getId String アプリのID
name getName String アプリの名前
kind getKind String リソースの種類
固定文字列:"drive#app"
objectType getObjectType String このアプリが作成するオブジェクトのタイプ
supportsCreate getSupportsCreate Boolean このアプリがオブジェクトの作成をサポートしているか
productUrl getProductUrl String このアプリの製品リストへのリンク
primaryMimeTypes getPrimaryMimeTypes List<String> プライマリ MIMEタイプのリスト
secondaryMimeTypes getSecondaryMimeTypes List<String> セカンダリ MIMEタイプのリスト
primaryFileExtensions getPrimaryFileExtensions List<String> プライマリファイル拡張子のリスト
secondaryFileExtensions getSecondaryFileExtensions List<String> 二次ファイル拡張子のリスト
supportsImport getSupportsImport Boolean このアプリが Googleドキュメントからのインポートをサポートしているか
installed getInstalled Boolean アプリがインストールされているか
authorized getAuthorized Boolean アプリがユーザーのドライブ上のデータにアクセスすることを承認されているか
icons getIcons List<AppIcons> アプリのさまざまなアイコン
useByDefault getUseByDefault Boolean アプリがサポートするタイプのデフォルトのハンドラーとして選択されているか
shortDescription getShortDescription String アプリの簡単な説明
longDescription getLongDescription String アプリの詳細な説明
supportsMultiOpen getSupportsMultiOpen Boolean このアプリが複数のファイルを開くことをサポートしているか
productId getProductId String このアプリの商品リストのID
openUrlTemplate getOpenUrlTemplate String このアプリでファイルを開くためのテンプレートURL
createUrl getCreateUrl String このアプリでファイルを作成するためのURL
createInFolderTemplate getCreateInFolderTemplate String このアプリを使用して特定のフォルダーにファイルを作成するためのテンプレート URL
supportsOfflineCreate getSupportsOfflineCreate Boolean このアプリがオフライン時のファイルの作成をサポートするか
hasDriveWideScope getHasDriveWideScope Boolean アプリがドライブ全体のスコープを持つか

AppIcons

メソッド 戻り値 説明
getSize Integer アイコンのサイズ
getCategory String アイコンのカテゴリ
getIconUrl String アイコンのURL

アイコンのカテゴリ

定義値 内容
application アプリケーションのアイコン
document アプリに関連付けられたファイルのアイコン
documentShared アプリに関連付けられた共有ファイルのアイコン


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