0

私は次のことを達成するために私のウェブサイトにグーグルカレンダーを埋め込むことを考えています、そしてこれがグーグルカレンダーで実行可能かどうか疑問に思いました。そうでなければ、私は別の解決策を見つけに行かなければなりません。

私には1人のスーパーユーザーを持つユーザーのグループがあり、残りは次のように通常のユーザーです。

  • GroupA
    • スーパーユーザー1
    • 通常ユーザー1
    • 通常ユーザー2
  • グループB
    • スーパーユーザー2
    • 通常ユーザー3
    • 通常ユーザー4

各グループには独自のカレンダーがあります。各グループのユーザーは、他のグループのカレンダーを表示できません。自分のグループのカレンダーしか見ることができません。

各グループのスーパーユーザーは、カレンダーへのすべてのアクセス(追加、変更、削除)を持ち、通常のユーザーがグループ内で持つアクセスの量を制御することができます。(読み取り専用?読み取り/書き込みなど)

すべてのユーザーが私のウェブサイトに登録されているので、グループごとにカレンダーを作成するために1つのGoogleカレンダーアカウント(自分のアカウント)のみを使用することを考えています。それは私のウェブサイトをグーグルのAPIに認証するという質問につながります。認証プロセスを自動化し、ユーザーから隠し、サーバー側で実行する必要があります。

私のサイトはPHP/Mysqlを使用して構築されています

Q1:
googleが提供するJavascriptクライアントライブラリを試しましたが、認証(OAuth2)プロセスが機能するように、ユーザーがgoogleにログインするためにユーザー名/パスワードを入力する必要があります。前の段落で述べたように、私はユーザーが私のウェブサイトにログインすることだけを望んでいます、彼らはグーグルアカウントに再びログインする必要はありません。これはサーバーサイドで実行する必要があります。

情報が事前に入力されたログインフォームを作成し(ユーザーには表示されません。ユーザー名/パスワードは「ページソースの表示」に表示されます)、https://accounts.google.com/ServiceLoginAuthにリクエストを送信します。ユーザーが私のWebサイトに正常にログインしたら、フォームを自動送信します。ただし、これによりクロスドメインの問題が発生します。

Q2:自分のWebサイトに数万のグループが登録されている可能性があります。各グループには数百人のユーザーがいる可能性があります。1つのGoogleアカウントでその数のカレンダーを作成できますか?

Q3:カレンダーが私のウェブサイトに埋め込まれると、読み取り専用のように見えます。各グループのスーパーユーザーがイベントを追加/削除/変更できるようにインタラクティブにすることは可能ですか?

任意のアイデア/提案は大歓迎です。

ありがとうございました

4

2 に答える 2

0

あなたが求めていることは、Google カレンダーではできません。

数千のグループをサポートしようとしていて、各グループに独自のカレンダーが必要な場合は、アクセス制御を備えた数千のカレンダーが必要であり、カレンダーを透過的に認証する必要があると言っています。

于 2013-07-23T21:41:33.140 に答える
0

答えがありませんか?あなたの質問は簡単なようです。私の理解が正しければ、あなたは複数の Google アカウント/ユーザーからカレンダーにアクセスしたいと考えています。各ユーザーはこのアクセスを承認する必要がありますが、一度だけ行う必要があります。これらのリクエストを生成して、たとえば電子メールで送信できます。ユーザーが権限を付与すると、Google は指定された callback_uri に付与コードを転送します。許可コードは非常に不安定です。明らかに無期限に続くトークンを Google からリクエストするために使用されます。したがって、ユーザーが継続的に Google にログインする必要はありません。

Google の calendar/simple.php の例。トークンは SESSION 変数として格納されます。トークンは永続的ですが、SESSION 変数はそうではありません。SESSION 変数の有効期限が切れるたびに、ユーザーは許可を与える必要があります。永続的なデータを volatile 変数に格納するのはばかげており、OAuth2 トークンのメカニズムについて間違った印象を与える可能性があります。

私は、他のどこにも見つからないドキュメントを書くのに多くの時間を費やしました。役立つと思われる場合は、ご覧ください: http://www.tqis.com/eloquency/googlecalendar.htm

于 2013-01-05T19:55:45.373 に答える