たちまちメモる

開発中に気になったことをメモしてます。

ノーマークでXデー(Google Calendar API v2終了日)を迎えてしまった件。

2014年11月17日にGoogle Calendar API v2の提供が終わっていたみたいで
Googleカレンダーを利用しているjQueryライブラリ(FullCalendar)を使っていた箇所が全部アウト。
急きょ修正作業しないといけなくてなかなか大変でした。

(※)FullCalendar
http://fullcalendar.io/

ちなみに普通のGoogleカレンダー埋め込みは何の影響も無かったみたいです。
ふつうのiframe埋め込み式Googleカレンダー



というわけで修正した内容をざっくりと書き残します。


FullCalendar修正対応でやったこと

Google Calendar API v3の導入

Google Developer Console(グーグル・ディベロッパー・コンソール)でプロジェクト作成。

↓ここです。Playにも似たようなのがあるっぽくて紛らわしい。。。
https://console.developers.google.com/

カレンダーAPIが使えるように許可。

任意のプロジェクト > API

一覧からカレンダーAPIを探します。
f:id:hamkiti:20141119231447p:plain


なんかスイッチありますね。怪しいです。
f:id:hamkiti:20141119231449p:plain


怪しいスイッチを押すとこれが出てきます。モチコースで同意して進んでください。
f:id:hamkiti:20141119231451p:plain


これで許可完了です。
f:id:hamkiti:20141119231454p:plain


公開APIキーを発行。

任意のプロジェクト > 認証情報

新しいキーを作成のボタンを押します。
f:id:hamkiti:20141119231440p:plain


ブラウザ上で動作するものなのでこれを選びます。
f:id:hamkiti:20141119231433p:plain


許可対象リファラーは空にしておいたほうが何かとやりやすいです。←ここ重要。
(無理に決めようとしたら小一時間くらいどつぼにハマりました。)
f:id:hamkiti:20141119230450p:plain



できました!
f:id:hamkiti:20141119230453p:plain


◆FullCalendarの修正

gcal.jsの修正

v2を使っている場合はこのページで公開されている修正方法の通りでいけます。
Google Calendar - Documentation | FullCalendar


v1を使っている場合は自力で直す必要があるかもしれません。
GoogleカレンダーAPIのURL形式と戻ってくる値が少し変わっていました。

以上ここまでが修正内容。






今日中に直ってよかったです。
次回からはちゃんとXデー(API提供終了日)には気を付けます!!










おまけ

FullCalendar(API修正対応済み)を使ったサンプルページです。
jQueryでカスタマイズしたGoogleカレンダー



ついでにサンプルを作っていて気が付いたこと。

Googleアカウントでログインしていない人がFullCalendar上の予定から
終日じゃないスケジュール詳細画面を見ると
予定時刻のタイムゾーングリニッジ標準時(GMT)で数時間ズレて見えてたのですが

これはスケジュール詳細画面のURLの後ろに
『&ctz=Asia/Tokyo』というパラメータを入れると直せます。


例)カレーの時間
GMTの場合
https://www.google.com/calendar/event?eid=bDV2MGtmZjRqb3U3NjNlbzU0cmI2YjdwM2dfMjAxNDEwMzFUMDgzMDAwWiAyaGljNXIzOW50dXA1cWVtZWdscDM5c3Y4OEBn

●日本時間の場合
https://www.google.com/calendar/event?eid=bDV2MGtmZjRqb3U3NjNlbzU0cmI2YjdwM2dfMjAxNDEwMzFUMDgzMDAwWiAyaGljNXIzOW50dXA1cWVtZWdscDM5c3Y4OEBn&ctz=Asia/Tokyo