Google Drive SDK の Java クライアントを使用しています。
アプリケーションの目標: すべてのファイルの所有権を親所有者に譲渡します。これは、ストレージ容量が大きいアカウントが多数あることを意味します。StorageAcct1、StorageAcct2 など。ユーザーがファイルをそのアカウントに移動しても、所有権は保持され、ストレージ ペナルティが発生します。アプリケーションをバックグラウンドで実行し、所有権をストレージ アカウントに転送したいと考えています。
ドライブ サービス オブジェクトを StorageAcct1 として作成し、ドメインに対して認証しました。StorageAcct1 として認証し、すべてのファイルを一覧表示し、ライターとビューアーのアクセス許可を追加/削除できます。ただし、所有権を譲渡することはできません。これにより、AppsUser1 が Document1 を所有している場合、アカウントがスーパー管理者またはドライブ管理者として設定されていても、StorageAcct1 は所有権を取得できません。
所有者として新しいサービス オブジェクトを作成すると、所有権を譲渡できることに気付きました。(サービス アカウントを AppsUser1@domain.com として作成し、Document1 の所有権を StorageAcct1 に譲渡します)。
アクセス許可 API 呼び出しは所有者の電子メールと名前だけを返さないため、プログラムでファイルのリストを調べて所有権を譲渡することはできません。名前と電子メールを検索し、それをプロビジョニング API と結び付けるためにデータベースを追加する必要はありません。
ご提案ありがとうございます。