ヤマムギ

growing hard days.

*

Googleカレンダーの予定をV3 APIでPHPからJSONを取得してWebページに表示する

      2016/02/08


Googleカレンダーを使って管理しているライブスケジュールを日付によって、
未来はライブ告知、過去は終わったライブとしてWebページに表示します。

Google側の設定とキー取得

下記の順番で設定します。

設定方法は様々なサイトで紹介されていますので「Google Calendar API v3」とかで検索してください。

  1. プロジェクトの作成
  2. APIの有効化
  3. クライアントID作成
  4. APIキー取得

Pear HTTPライブラリの準備

今回は共用レンタルサーバー上で実装しなければならず、HTTP RequestやHTTP Clientをインストール出来なかったので、ダウンロードしてからFTP経由で配置しています。

配置したライブラリ

  • Pear.php
  • HTTP/Request.php
  • HTTP/Client.php
  • Net/Socket.php
  • Net/URL.php

Pear ダウンロードサイトでPackage検索でそれぞれ探してダウンロードしました。

ライブラリの配置先にパスを通す

レンタルサーバーなので実行時にパスを通す必要があります。

なので、set_include_path(get_include_path() . PATH_SEPARATOR . $path);としています。
詳しくは下部をご参照ください。

カレンダーを取得して表示する

このカレンダーから取得しています。

そしてこちらに表示しています。
ライブ情報
過去のライブ

ライブ情報の例です。
※過去のライブは逆に今日より過去のスケジュールを取得しています。

パラメータはこちらのオフィシャルサイトをご覧ください。

https://developers.google.com/google-apps/calendar/v3/reference/events/list

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - Google, PHP , ,

ad

ad

  関連記事

Chrome リモートデスクトップを使ってみる

自宅のMacをリモートで操作したい 外出用PCはWindows 8 とLinux …

ホームページ、自作サイトにアメブロの新着情報を掲載する

MagipieRSSを使用 なので下記サイトでダウンロード http://mag …

Google関連のAPIを試すためのGoogleSiteを作ってみました

組み込み機能で出来る事は組み込み機能で と思いまして、Googleサイトを試験的 …

Googleカレンダーの予定をPHPからXMLで取得してWebページに表示する(現在廃止されたAPIなので使えません)

ご注意 ※下記の記事で使用していたAPIは2016年現在使用出来なくなっています …

chromium OS をインストールするためのUSBをMacで作る

別にChromeBookを購入するお金をけちるわけではないのですが。 chrom …

GoogleAppsScriptを使ってGmailの本文を解析してSpreadSheetにエクスポートする

GoogleAppsScriptを使ってGmailの本文を解析してSpreadS …

Redmine 3.0.0 のメールサーバーでGoogleApps SMTPサーバーを利用する

Redmineのメール通知サーバーとしてGoogleAppsを使用する方法です。 …

WordPressにログインを強制して記事ごとのアクセス制限もする

WordPressを限定された組織内で使いたいとした場合に下記を実現したいと思い …

ホームページやサイトがiPhone,iPadのホーム画面に追加された時のアイコンを設定しておく

headタグでapple-touch-iconを指定 [crayon-5befc …

PHP 共通ヘッダ、フッタの内容をページによって動的に変更する

共通ヘッダ、フッタ それぞれ必要な内容を書いたheader.php、footer …