次のコマンドを使用して、Google アカウントの 1 つ (dustin.wehr) が所有するリアルタイム ファイルへのアクセス許可を 2 番目の Google アカウント (d.dawg.fresh) に付与します。
gapi.client.load('drive', 'v3').then(function() {
gapi.client.drive.permissions.create({
fileId: fileid,
type: 'user',
role: 'writer',
emailAddress: email
});
これにより、新しく共有された 0 バイトのショートカット ファイルに関する電子メール通知が届きます。これは、d.dawg.fresh としてログインすると、Google ドライブの Web アプリケーションで確認できます。ここで、ショートカット ファイルと同じファイル ID があることを確認します。私のdustin.wehrドライブアカウントで。
ただし、d.dawg.fresh として認証し、そのファイル ID を使用して (realtime-client-utils.js 経由で) ファイルをロードしようとすると、次のようになります。
ドライブ リアルタイム API エラー: not_found: ファイルが見つかりません。
全体を通して同じクライアント ID とアプリ ID を使用します。
d.dawg.fresh にアクセス許可を与える前に、d.dawg.fresh にロードさせようとすると、予想されるエラーが発生します。
ドライブ リアルタイム API エラー: 禁止: ファイルへのアクセスが拒否されました。
gapi.client.drive.permissions.get
またはのいずれかを使用して、いずれかのアカウントから認証しようとするとgapi.client.drive.permissions.list
、クロージャ コンパイラ コードから作成されたように見える、理解できないオブジェクトが返されます。それらの機能は以前は便利だったのを覚えているようです。
2 つのアカウントのいずれかからログインしてhttps://developers.google.com/drive/v3/reference/permissions/listで「この API を試す」を使用すると、まったく同じ応答が得られます。ライター用と所有者用の 2 つのアクセス許可。
それは良くなります!2 つのユーザー アカウントの役割を入れ替えると、上記のプロセスが機能することがわかりました。つまり、d.dawg.fresh でファイルを作成し、dustin.wehr にアクセス許可を与えます。その後、どちらのアカウントからでもファイルを読み込むことができ、共同編集は思い通りに機能します。
この時点で、シークレット ウィンドウの使用が不十分なために問題が発生しないように、2 つのアカウントに対して 2 台の異なるコンピューターから作業しています。
何か案は?