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 | アプリに関連付けられた共有ファイルのアイコン |
おしまい。。