保留中のアクセス プロポーザルを管理する

アクセス提案とは、リクエスト元が承認者に送信する、受信者に Google ドライブ アイテムへのアクセス権を付与するための提案です。

承認者は、ドライブ ファイル全体で未解決のアクセス候補を確認して対応できます。つまり、アクセス候補をプログラムでクエリして解決することで、承認プロセスを迅速化できます。また、承認者は候補をまとめて確認することもできます。

Google Drive API には accessproposals リソースが用意されているため、保留中のアクセス候補を表示して解決できます。accessproposals リソースのメソッドは、ファイル、フォルダ、共有ドライブ内のファイルに対して機能しますが、共有ドライブに対しては機能しません。

アクセス候補に固有の用語は次のとおりです。

  • リクエスト元: ドライブ アイテムへのアクセス候補を開始するユーザー。
  • 受信者: アクセス候補が承認された場合に、ファイルに対する追加の権限を受け取るユーザー。受信者はリクエスト元と同じであることが多いですが、常にそうであるとは限りません。
  • 承認者: アクセス候補を承認(または拒否)するユーザー。通常、ドキュメントのオーナーであるか、ドキュメントを共有できる権限を持っているためです。

fields パラメータを使用する

レスポンスで返すフィールドを指定する場合は、 fields system parameteraccessproposals リソースの任意のメソッドで設定します。fields パラメータを省略すると、サーバーはメソッドに固有のデフォルトのフィールド セットを返します。別のフィールドを返す場合は、特定のフィールドを返すをご覧ください。

保留中のアクセス候補を取得する

アクセス候補を取得するには、get リソースで accessproposals メソッドを使用し、fileIdproposalId パスパラメータを指定します。候補 ID がわからない場合は、保留中のアクセス プロポーザルを一覧表示するには、list メソッドを使用します。

保留中のアクセス候補を一覧表示する

ドライブ アイテムの保留中のアクセス候補をすべて一覧表示するには、 list リソースで accessproposals メソッドを呼び出し、 fileId パスパラメータを含めます。

ファイルの承認者のみが、ファイルに対する保留中の候補を一覧表示できます。承認者とは、ファイルに対する can_approve_access_proposals 機能を持つユーザーです。リクエスト元が承認者でない場合は、空のリストが返されます。capabilities の詳細については、ファイルの機能についてをご覧ください。

レスポンスの本文は、ファイルに対する未解決のアクセス候補のリストを表す accessproposals オブジェクトで構成されます。

accessproposals オブジェクトには、リクエスト元、受信者、リクエスト元が追加したメッセージなど、各候補に関する情報が含まれます。また、リクエスト元が提案した roleview をグループ化する RoleAndViewオブジェクトも含まれます。role は繰り返しフィールドであるため、プロポーザルごとに複数のフィールドが存在する可能性があります。たとえば、候補には role=readerview=publishedRoleAndView オブジェクトと、role=writer 値のみの追加の RoleAndView オブジェクトが含まれる場合があります。詳細については、 ビューをご覧ください。

次のクエリ パラメータを渡して、アクセス候補のページ分割をカスタマイズしたり、フィルタしたりします。

  • pageToken: 前回のリスト呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。

  • pageSize: ページごとに返すアクセス候補の最大数。

保留中のアクセス候補を解決する

ドライブ アイテムの保留中のアクセス候補をすべて解決するには、resolve メソッドを accessproposals リソースで呼び出し、 fileId パスパラメータと proposalId パスパラメータを指定します。

resolve メソッドには、候補に対して行うアクションを示す action クエリ パラメータが含まれています。Action オブジェクトはプロポーザルの状態の変化を追跡するため、プロポーザルが承認されているか拒否されているかを確認できます。

resolve メソッドには、roleview のオプションのクエリ パラメータも含まれています。サポートされているロールは writercommenterreader のみです。ロールが指定されていない場合、デフォルトは reader です。詳細については、ロール と権限をご覧ください。sendNotification の追加のオプションのクエリ パラメータを使用すると、プロポーザルが承認または拒否されたときに、リクエスト元にメール通知を送信できます。

list メソッドと同様に、候補を解決するユーザーは、ファイルに対する can_approve_access_proposals 機能を持っている必要があります。capabilities の詳細については、ファイルの機能についてをご覧ください。

候補は、ドライブ リソースの 共有の シナリオに記載されているパターンと同じパターンを使用して解決されます。同じユーザーに対して複数の候補があり、ロールが異なる場合は、次のようになります。

  • 1 つの候補が承認され、1 つの候補が拒否された場合、承認されたロールがドライブ アイテムに適用されます。
  • 両方の候補が同時に承認された場合は、権限の高い候補(role=writerrole=reader など)が適用されます。他のアクセス候補はアイテムから削除されます。

候補を resolve メソッドに送信すると、共有アクションは完了します。解決済みのアクセス候補は、list メソッドでは返されなくなります。候補が承認されたら、ユーザーは permissions リソースを使用してファイルまたは フォルダの権限を更新する必要があります。詳細については、権限を更新する をご覧ください。