ファイルの特定のフィールドを返す

必要とする正確なフィールドを返してパフォーマンスを向上させるには、fields を使用します。 クエリ パラメータを使用します。

デフォルトでは、サーバーは、リクエストを実行するリソースに固有の一連の 表示されます。たとえば、files.get メソッドはidnamemimeTypeのみを 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
  }
}

ネストされたリソースのフィールドを取得する

フィールドが別のリソースを参照する場合、参照するリソースの 取得する必要があります。

たとえば、permissionsrole フィールド(ネストされたリソース)を取得するには、次のようにします。 次のいずれかのオプションを使用します。

  • permissions.get は、fields=role または fields=* に置き換えます。
  • files.get は、fields=permissions(role) または fields=permissions/role に置き換えます。
  • ネストされたフィールド内のすべてのフィールドを暗黙的に指定するには、files.getfields=permissions に置き換えます。 リソースです。
  • changes.list: fields=changes(file(permissions(role)))

複数のフィールドを取得するには、カンマ区切りのリストを使用します。たとえば files.listfields=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"
    }
  ]
}