必要とする正確なフィールドを返してパフォーマンスを向上させるには、fields
を使用します。
クエリ パラメータを使用します。
デフォルトでは、サーバーは、リクエストを実行するリソースに固有の一連の
表示されます。たとえば、files.get
メソッドはid
、name
、mimeType
のみを
files
リソース。「
permissions.get
メソッドは
デフォルトフィールドのセットを
permissions
リソース。
サーバーが fields
クエリを含む有効なリクエストを処理した後
HTTP 200 OK
ステータス コードとリクエストされた
分析できますfields クエリ パラメータにエラーがある場合や、パラメータが無効な場合、
サーバーが HTTP 400 Bad Request
ステータス コードとエラーを返す
メッセージが表示されます。たとえば
files.list(fields='files(id,capabilities,canAddChildren)')
は、次のエラーになります。
「Invalid field Selection canAddChildren.」適切なフィールド クエリ パラメータ
この例は、
files.list(fields='files(id,capabilities/canAddChildren)')
。
fields
パラメータを使用して返すことができるフィールドを確認するには、
ドキュメント ページをご覧ください。たとえば、
返されるフィールドについては、files
リソースのドキュメントをご覧ください。
フィールド パラメータの形式ルール
フィールド リクエスト パラメータ値の形式は、XPath に基づいています。
説明します。fields
パラメータの形式ルールは次のとおりです。次のすべて
これらのルールでは、files.get
メソッドに関連する例を使用しています。
複数のフィールドを選択するには、カンマ区切りのリストを使用します(
'name, mimeType'
など)。a/b
を使用して、フィールドa
内にネストされているフィールドb
を選択します。次に例を示します。'capabilities/canDownload'
。詳しくは、 ネスト 使用します。サブセレクタを使用して、特定の配列のサブフィールドのセットをリクエストする かっこ「()」で式を記述できます。たとえば
'permissions(id)'
は、 権限の配列。オブジェクトのすべてのフィールドを返すには、アスタリスクをフィールドのワイルドカードとして使用します。 選択します。たとえば、
'permissions/permissionDetails/*'
と指定すると、すべて選択されます。 権限ごとに使用可能な権限の詳細フィールドの数。なお、 このワイルドカードは、リクエストのパフォーマンスに悪影響を与える可能性があります。
例を表示
リクエスト
この例では、リクエスト内のクエリ パラメータとしてファイル ID パスパラメータと複数のフィールドを指定しています。レスポンスでファイル ID のフィールド値が返されます。
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared
レスポンス
{ "name": "File1", "starred": false, "shared": true } }
ネストされたリソースのフィールドを取得する
フィールドが別のリソースを参照する場合、参照するリソースの 取得する必要があります。
たとえば、permissions
の role
フィールド(ネストされたリソース)を取得するには、次のようにします。
次のいずれかのオプションを使用します。
permissions.get
は、fields=role
またはfields=*
に置き換えます。files.get
は、fields=permissions(role)
またはfields=permissions/role
に置き換えます。- ネストされたフィールド内のすべてのフィールドを暗黙的に指定するには、
files.get
をfields=permissions
に置き換えます。 リソースです。 changes.list
:fields=changes(file(permissions(role)))
。
複数のフィールドを取得するには、カンマ区切りのリストを使用します。たとえば
files.list
は fields=files(id,name,createdTime,modifiedTime,size)
に置き換えます。
例を表示
リクエスト
この例では、ファイル ID パスパラメータと、ネストされた権限リソースの特定のフィールドを含む複数のフィールドを、リクエストのクエリ パラメータとして指定しています。レスポンスでファイル ID のフィールド値が返されます。
GET https://www.googleapis.com/drive/v3/files/FILE_ID?fields=name,starred,shared,permissions(kind,type,role)
レスポンス
{ "name": "File1", "starred": false, "shared": true, "permissions": [ { "kind": "drive#permission", "type": "user", "role": "owner" } ] }