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 の動作の複雑さを軽減するために、次の機能を提供しています。 次の点で改善されています。
- デフォルトでは、ファイルや共有ドライブを検索しても、完全なリソースが返されない。
よく使用されるフィールドのサブセットのみが返されます。このモジュールの
fields
、files.list
メソッドを参照drives.list
メソッドを使用します。 - レスポンスを返すほぼすべてのメソッドで
fields
が必要になりました パラメータを指定します。fields
を必要とするすべてのメソッドの一覧については、をご覧ください。 Drive API リファレンスをご覧ください。 - 重複する機能を持つリソースが削除されました。例:
<ph type="x-smartling-placeholder">
- </ph>
files.list
メソッドはChildren
とParents
のコレクションであるため、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
。
- v2 では、
その他の相違点
フィールド名とパラメータ名は v3 で異なります。以下にいくつか例を示します。
name
プロパティは、files
リソースのtitle
に代わるものです。- すべての日付と時刻フィールドの接尾辞として、
Date
ではなくTime
を使用します。 - リスト オペレーションでは、結果セットを格納するために
items
フィールドを使用しません。「 resource type には、結果のフィールド(files
やchanges
)。