このガイドでは、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 つのフィールドのみが設定されています。アクションの種類を表し、そのアクションに関連する詳細情報を含みます。たとえば、移動を表す ActionDetail
は move
フィールドのみを設定します。このフィールドには、追加または削除された親がリストされます。
v1 API の primaryEventType
フィールドは、v2 の primaryActionDetail
とほぼ一致します。
脅威アクター
v1 API では、アクターのユーザーが既知の場合、返されたアクティビティには User
が含まれ、必要に応じて、特別なケースの fromUserDeletion
などの最上位フィールドが含まれます。
v2 API では、より豊富な Actor
タイプを使用できます。また、アクタが既知のユーザーの場合は user.knownUser
が入力されます。アプリケーションでユーザーの詳細情報を必要とする場合は、KnownUser
フィールド personName
を people.get
メソッドに渡すことで、People API からクエリを実行できます。
ターゲット
v1 API では、ターゲットは常にドライブ アイテムでした。v2 API では、ターゲットは Drive 内の他のタイプのオブジェクトにすることができます。たとえば、ドライブの変更のターゲット タイプは Drive
です。共有ドライブのルートフォルダは引き続き(root
フィールドの DriveItem
として)返されますが、アクティビティの直接的なターゲットではありません。同様のコンセプトが FileComment
リソースにも適用されます。このリソースの parent
フィールドは、ターゲット コメント スレッドを含むドライブ アイテムを参照します。
統合アクティビティ
v1 API では、統合(「グループ化」)戦略が設定されるとレスポンスのスタイルが変更されました。具体的には、統合がオンになっている場合、各アクティビティには、構成要素の singleEvents
と、それらの構成要素イベントの共通アクティビティを要約した combinedEvent
が含まれていました。統合がオフの場合、combinedEvent
フィールドには、各アクティビティの元の統合されていないイベントが含まれていました。これらのイベントは、作成と共有など、複数のアクションを表す場合があります。
v2 API では、返される DriveActivity
には常にすべてのアクタ、ターゲット、アクションが含まれるため、統合戦略に基づいてレスポンスのスタイルが変更されることはありません。