11

Google のカレンダー API V3 を使用して、公開されている Google カレンダーのイベント リストへの読み取り専用アクセスを取得するために、ウェブサイト用の簡単な PHP コードを書きたいと思います。Web ページのカレンダーから今後のイベントのリストを表示する必要があるだけです。開発者向けドキュメントを読み、入門セクションget イベントのサンプル コードを見ましたが、少し混乱しています。不思議なんだけど:

  • このすべての OAuth を回避するために必要なことを行うためのより簡単な方法はありますか? 認証されていないアクセス方法はありますか?

  • そうでない場合は、code.google.com/apis/console/ でアプリへのアクセスを設定し、ApplicationName、ClientID、ClientSecret、RedirectURI、DeveloperKey を生成する必要があるようです。ApplicationNameDeveloperKeyは、Google コンソールで簡単に見つけることができます。ただし、その他の項目については、OAuth 2.0 ClientID を作成する必要があります。これには、アプリケーションの種類が Web アプリケーションかサービス アカウントかを選択する必要があります。私のシナリオではどうすればよいですか?このシナリオでは、ユーザーのカレンダーへのアクセスを要求していないため、ユーザーのログインは必要ありません。アクセスする必要があるのは公開カレンダーだけです。

  • リダイレクト URI とは何ですか。また、どのように使用されますか。どのように設定すればよいですか?

  • Google の API サンプルは、アクセス トークンを取得してセッション データにキャッシュします。次に、コードのコメントは、これを行うべきではなく、代わりにデータベースを使用する必要があることを示しています。真剣に?アクセストークンのキャッシュに本当に対処する必要がありますか? もしそうなら、Google API に組み込みの DB キャッシング メカニズムはありますか、またはこれをどのように処理しますか?

私は本当に簡単なアプローチを探しています。ご指導よろしくお願いします!

ありがとう。

4

2 に答える 2

5

私はあなたがこれを考えすぎていると思います。公開カレンダーのイベントにアクセスする必要があるだけの場合は、Google Calendar API を呼び出さずに、それに付随するすべての複雑な操作を実行する方法があります。すべての公開Google カレンダーには、特定の URL で表示できる iCal フィードがあり、通常は次の形式で表示されます。

http://www.google.com/calendar/ical/{OWNER}/public/basic.ics

ここ{OWNER}で、カレンダーの所有者の URL エンコードされた電子メール アドレスです。

カレンダーの設定を表示し、[カレンダーの詳細] タブの一番下までスクロールすると、特定の URL を見つけることができます。

于 2012-12-30T18:27:19.907 に答える
4

Some tips to do this are embedded in the comments to Charles' answer. Anyway, as of 2014 (with Google Calendar v3 API), this is what I did:
Go here to see how the v3 API works:
https://developers.google.com/google-apps/calendar/v3/reference/events/list#try-it

Fill at least these three fields in the demo web form available on the above link:
calendarId: the URL-encoded email address of the owner of the calendar.
timeMax: End Time
timeMin: Start Time
(Use this Time Format: 2014-05-04T00:00:00-00:00 (Y-m-d T millisecond - offset))

You'll see the following REQUEST being sent out.

GET https://www.googleapis.com/calendar/v3/calendars/{CALENDER_ID}/events?timeMax={start_time}&timeMin={end_time}&key={YOUR_API_KEY}

Now you can customize this request URL for your requirement and send regular GET requests from your code.

P.S -- To get your API Key, follow the procedure here:
https://developers.google.com/google-apps/calendar/auth

于 2014-05-24T06:09:27.050 に答える