1

私はプロジェクト管理アプリケーションhttp://kerika.comに取り組んでおり、次のようなケースがあり、Google ドライブ ファイルでのユーザーの役割を「ライター」から「リーダー」にダウングレードできません。

  1. ユーザー U1 が所有するプロジェクトは、ロール「チーム メンバー」を持つユーザー U2 と共有されます。
  2. プロジェクトのカードに新しいドキュメントが添付されると、ユーザー U1 の google-drive アカウントにアップロードされます。このファイルを F1 としましょう。U1 が F1 の所有者になり、「ライター」ロールを持つユーザー U2 と共有されます。
  3. U1 がユーザー U2 のロールを kerika プロジェクトの訪問者にダウングレードすることを決定した場合: Kerika は内部的に、Google ドライブの F1 に対するユーザー U2 のロールを「リーダー」に更新する必要があります。
  4. ここで kerika 開発者として、GoogleDrive API の Permission オブジェクトはユーザーの電子メール アドレスに関する情報を提供しないため、ユーザー U2 がその役割を変更するための Permission オブジェクトを見つけるのが難しくなります。ユーザーの名前に関する情報を提供しますが、電子メール アドレスに関する情報は提供しません。

http://www.youtube.com/watch?v=Z2OIlwju8UM&list=PL0FA2818902D9D123&index=15の google-drive-sdk ビデオも見ました。

ビデオによると、セキュリティ上の理由から、google-drive-api はユーザーのメール アドレスを入力していません。

まず、google-drive の Web バージョンでは、セキュリティに関係のない共有ダイアログ ボックスに他のユーザーのメール アドレスが表示されていますか?

Google の開発者がメール アドレスを入力しないことにした場合、この問題を回避する必要があります。

例: ユーザーのロールを「リーダー」から「書き込み」に変更したい場合、ロールが「ライター」の新しい権限レコードを挿入すると、ロールが適切に更新されます。

しかし、ユーザーの役割を「ライター」から「リーダー」に更新すると、同じことが機能しません。

誰かが同じ問題を抱えていて、それを解決するための回避策を見つけましたか?

よろしくお願いいたします。

チラグ・モラディヤ

4

1 に答える 1

0

update() または patch() メソッドを使用して、ファイルに対する既存のユーザーのアクセス許可を変更する必要があります。明らかに、ここでの難しさは、ユーザーが変更する正しい許可 ID を特定することにあります。

最後にメールアドレスにpermissionIdのテーブルを保存することもできますが、それはすべての権限の変更がネイティブのドライブUIではなくアプリ内で行われることを前提としています.

もう 1 つのオプションは、エンド ユーザーにどのユーザーの権限を変更する必要があるかを特定してもらい、Drive API が提供する名前と画像を表示して選択を支援することです。

于 2012-12-15T13:32:16.127 に答える