私はプロジェクト管理アプリケーションhttp://kerika.comに取り組んでおり、次のようなケースがあり、Google ドライブ ファイルでのユーザーの役割を「ライター」から「リーダー」にダウングレードできません。
- ユーザー U1 が所有するプロジェクトは、ロール「チーム メンバー」を持つユーザー U2 と共有されます。
- プロジェクトのカードに新しいドキュメントが添付されると、ユーザー U1 の google-drive アカウントにアップロードされます。このファイルを F1 としましょう。U1 が F1 の所有者になり、「ライター」ロールを持つユーザー U2 と共有されます。
- U1 がユーザー U2 のロールを kerika プロジェクトの訪問者にダウングレードすることを決定した場合: Kerika は内部的に、Google ドライブの F1 に対するユーザー U2 のロールを「リーダー」に更新する必要があります。
- ここで 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 の開発者がメール アドレスを入力しないことにした場合、この問題を回避する必要があります。
例: ユーザーのロールを「リーダー」から「書き込み」に変更したい場合、ロールが「ライター」の新しい権限レコードを挿入すると、ロールが適切に更新されます。
しかし、ユーザーの役割を「ライター」から「リーダー」に更新すると、同じことが機能しません。
誰かが同じ問題を抱えていて、それを解決するための回避策を見つけましたか?
よろしくお願いいたします。
チラグ・モラディヤ