Drive Activity API v1 から移行する

このガイドでは、Google Drive Activity API v1 と v2 の違いと、v1 API を v2 API に対応するように変更する方法について説明します。

承認

v1 API は次のスコープを使用しました。

  • https://www.googleapis.com/auth/activity

v2 API には、次のいずれかのスコープが必要です。

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

リソース名

v1 API では、Google ドライブのアイテムやユーザーなどのオブジェクトの識別子は不透明な文字列でした。v2 API では、通常、これらのオブジェクトはリソース名を使用して参照されます。詳細については、Cloud API 設計ガイドをご覧ください。

通常、これらの識別子は変換できます。たとえば、v2 API の Drive アイテムは、リソース名 items/ITEM_ID_V1 を使用して参照されます。

リクエスト

v2 のリクエスト形式は v1 と類似しています。具体的には、ドライブ ファイルまたはドライブの祖先のアクティビティをリクエストすることは引き続き可能です。ただし、これらのリクエスト パラメータには items/ を接頭辞として追加し、リソース名としてフォーマットする必要があります。

「グループ化」の名称を「統合」に変更し、source リクエスト パラメータと userId リクエスト パラメータを削除しました。

また、レスポンスで返されるアクティビティ データの種類を制限できる新しいフィルタ オプションもあります。

操作

v1 API では、アクティビティの種類とそのアクティビティに関連付けられたデータは別々のフィールドにありました。たとえば、primaryEventType フィールドに値 move が含まれている場合、アプリは、追加または削除された親が最上位の move フィールドに入力されていると想定します。

v2 API では、これらのフィールドは区別されなくなりました。ActionDetail メッセージには、1 つのフィールドのみが設定されています。アクションの種類を表し、そのアクションに関連する詳細情報を含みます。たとえば、移動を表す ActionDetailmove フィールドのみを設定します。このフィールドには、追加または削除された親がリストされます。

v1 API の primaryEventType フィールドは、v2 の primaryActionDetail とほぼ一致します。

脅威アクター

v1 API では、アクターのユーザーが既知の場合、返されたアクティビティには User が含まれ、必要に応じて、特別なケースの fromUserDeletion などの最上位フィールドが含まれます。

v2 API では、より豊富な Actor タイプを使用できます。また、アクタが既知のユーザーの場合は user.knownUser が入力されます。アプリケーションでユーザーの詳細情報を必要とする場合は、KnownUser フィールド personNamepeople.get メソッドに渡すことで、People API からクエリを実行できます。

ターゲット

v1 API では、ターゲットは常にドライブ アイテムでした。v2 API では、ターゲットは Drive 内の他のタイプのオブジェクトにすることができます。たとえば、ドライブの変更のターゲット タイプは Drive です。共有ドライブのルートフォルダは引き続き(root フィールドの DriveItem として)返されますが、アクティビティの直接的なターゲットではありません。同様のコンセプトが FileComment リソースにも適用されます。このリソースの parent フィールドは、ターゲット コメント スレッドを含むドライブ アイテムを参照します。

統合アクティビティ

v1 API では、統合(「グループ化」)戦略が設定されるとレスポンスのスタイルが変更されました。具体的には、統合がオンになっている場合、各アクティビティには、構成要素の singleEvents と、それらの構成要素イベントの共通アクティビティを要約した combinedEvent が含まれていました。統合がオフの場合、combinedEvent フィールドには、各アクティビティの元の統合されていないイベントが含まれていました。これらのイベントは、作成と共有など、複数のアクションを表す場合があります。

v2 API では、返される DriveActivity には常にすべてのアクタ、ターゲット、アクションが含まれるため、統合戦略に基づいてレスポンスのスタイルが変更されることはありません。