Drive API v2 と v3 の比較ガイド

Google Drive API の最新バージョンは v3 です。v3 のパフォーマンスは、次の理由で優れています。 フィールドのサブセットのみが返されます。必要でない限り現在のバージョンを使用する v2 コレクションを使用します。バージョン 2 を使用している場合は、 説明します。移行するには、Migrate to Drive API v3 をご覧ください。バージョンの相違の完全なリストについては、 Drive API v2 と v3 の比較 参照をご覧ください。

引き続き v2 を使用する場合は、Guide to Drive API v2 の修正条項で、v3 での手順をご確認ください。 v2 デベロッパー向けに修正する必要があります。

Drive API v3 の改善点について詳しくは、 次の動画をご覧ください。Google のエンジニアが新しい API の設計について話しています。

V3 の改善点

v3 では、パフォーマンスを最適化し、API の動作の複雑さを軽減するために、次の機能を提供しています。 次の点で改善されています。

  • デフォルトでは、ファイルや共有ドライブを検索しても、完全なリソースが返されない。 よく使用されるフィールドのサブセットのみが返されます。このモジュールの fieldsfiles.list メソッドを参照 drives.list メソッドを使用します。
  • レスポンスを返すほぼすべてのメソッドで fields が必要になりました パラメータを指定します。fields を必要とするすべてのメソッドの一覧については、をご覧ください。 Drive API リファレンスをご覧ください。
  • 重複する機能を持つリソースが削除されました。例:
    • files.list メソッドは ChildrenParents のコレクションであるため、v3 から削除されます。
    • Realtime.* メソッドが削除されました。
  • デフォルトでは、アプリデータは検索で返されません。v2 では、 drive.appdata スコープを作成し、files.list からアプリケーション データを返します。 メソッドと changes.list パフォーマンスが低下します。v3 では、drive.appdata スコープを設定します。 また、クエリ パラメータ spaces=appDataFolder を アプリケーションデータです。
  • すべての更新オペレーションでは、PUT ではなく PATCH を使用します。
  • Google ドキュメントをエクスポートするには、 files.export メソッドを使用します。
  • changes.list メソッドの動作は異なります。変更 ID の代わりに、 不透明なページトークンを使用します変更コレクションをポーリングするには、まず changes.getStartPageToken メソッドを使用します。後続のクエリでは、changes.list メソッドは newStartPageToken 値を返します。
  • update メソッドで、書き込み不可のフィールドを指定するリクエストが拒否されるようになりました。
  • v2 の exportFormats フィールドと importFormats フィールド about リソースは、 インポートまたはエクスポートできます。v3 では、これらは MIME タイプの サポートされているすべてのインポートまたはエクスポートへのターゲット候補。
  • v2 の appdata エイリアスと appfolder エイリアスは、v3 では appDataFolder になりました。
  • properties リソースは v3 から削除されました。「 files リソースには properties フィールドがあります。 真の Key-Value ペアを格納します。properties フィールドには、public プロパティがあり、appProperties フィールドにプライベート プロパティが含まれているため、 表示する必要はありません。
  • files リソースの modifiedTime フィールドが最終更新日時を更新する 変更することもできます。v2 では、modifiedDate フィールドのみ変更可能でした。 setModifiedDate フィールドを設定した場合は更新時。
  • files リソースの viewedByMeTime フィールドは、 更新されます
  • Google ドキュメントの形式をインポートするには、適切なターゲット mimeType を設定します。 指定します。v2 では ?convert=true を設定します。
  • サポートされていない形式の場合、インポート オペレーションは 400 エラーを返します。
  • 閲覧者と閲覧者(コメント可)は権限を表示できません。
  • 権限の me エイリアスは削除されます。
  • 一部の機能はリクエスト リソースの一部として利用可能でしたが、 リクエスト パラメータとして使用できます。例:
    • v2 では、children.delete を使用して子ファイルをスペースから削除できます。 継承されます。
    • v3 では、子に対して files.update を使用します。 URL 内の ?removeParents=parent_id

その他の相違点

フィールド名とパラメータ名は v3 で異なります。以下にいくつか例を示します。

  • name プロパティは、files リソースの title に代わるものです。
  • すべての日付と時刻フィールドの接尾辞として、Date ではなく Time を使用します。
  • リスト オペレーションでは、結果セットを格納するために items フィールドを使用しません。「 resource type には、結果のフィールド(fileschanges)です。