WebプログラミングⅢ

 目次へ 前へ 次へ

2015/11/9 久米

5.OAuth

5-2.OAuth2.0でGoogleアプリ

1.Googleにアプリを登録

Google開発者コンソール

でCreate Project

手順 画面

1.プロジェクト作成

一番上の
セレクトメニュー
から

図では
TestProject01

2.アプリ命名
3.1ClientID作成
3.2ホスト名と
CallbackURL
設定
4.完了
5.使うAPI開放

 

2.ライブラリをダウンロード

授業ではライブラリは使用せず、自作する。
もちろん、HybridAuthなどのライブラリなど使用しても可

 

 

3.ファイル構成

htdocs            
web3          
 
oauth        
   
google      
     
config.php ・・・連携用 keyとcallback url
     
start.php ・・・連携用 開始ページ
     
callback.php ・・・連携用 自作php
     
checksession.php ・・・連携用
     
application.php ・・・自作アプリホーム
     
calenderlist.php  
     
     

 

4.連携アプリphp

ファイル名 ソース
config.php

キーと
callback url
を定義

start.php

認証開始ページの
リンクを表示

▼参考URL

Using OAuth 2.0 for
Web Server
Applications

のRedirecting to
Google's OAuth 2.0
server
のHTTP/RESTタブ

scope

callback.php

アプリ連携承認後
google側で
このページを
開く様指示される

ここで
アクセストークン取得

▼参考URL

Using OAuth 2.0 for
Web Server
Applications

のHandling the
OAuth 2.0 server
response
のHTTP/RESTタブ

checksession.php

アクセストークンが
あるかチェック
application.php
本アプリの
ホームページ

アクセストークン
取得したので、
あとは自由に
APIアクセス

calenderlist.php

承認した人の
カレンダーリスト
取得

▼参考URL

Google Calendar API
>CalendarList: list

end.php

 

5.連携解除

https://accounts.google.com/b/0/IssuedAuthSubTokens

からGoogleアプリ連携解除

 


演習1 calenderlist.php で取得したjsonを綺麗に表示してみよ。(細かいデータは省いて)

演習2 上記で取得したカレンダーの中から一つ選び、そのカレンダーの予定を取得するcalender.phpを作れ。
$cid= urlencode("kumeshogidojo@gmail.com");
$timeMin=urlencode("2015-10-01T00:00:00+0900");
$timeMax=urlencode("2015-11-01T00:00:00+0900");
$url = "https://www.googleapis.com/calendar/v3/calendars/{$cid}/events?maxResults=30&timeMin={$timeMin}&timeMax={$timeMax}&access_token={$access_token}";

参考 サービス>Google Apps>Google Calendar API>Events: list