AWSの環境をパワーアップ、の手順、のうち、
GoogleCalenderAPIの使用、の記事です。
このサイトでわかりやすく説明されています。
https://himakan.net/websites/how_to_google_oauth
Google認証サイトへの登録
Google認証画面(
https://console.developers.google.com/apis/credentials
)から、新しいプロジェクトを作成

認証情報を作成、OAuthクライアントIDを選択、Webアプリケーションを選択。

承認済みの JavaScript 生成元はWebアプリのURL。
承認済みのリダイレクト URIは、Googleの承認サイトから戻るリダイレクト先を設定しておきます。
クライアントIDとクライアントシークレットをメモしておきます。
処理の流れ
- GCAL_GetAuthUrl()で、認証URLを取得
- そこへジャンプする。
- 下記のようなGoogle認証画面となる。
- 認証操作をすると、エンドポイントへ戻ってきて、パラメタにcodeがついてくる。
- GCAL_GetTokens($code)で、そのコードをもとに、getAccessTokenでアクセストークンを取得してDBに記憶等しておく。
- 今後、GoogleAPIでカレンダー情報等にアクセスする際は、そのアクセストークンを利用してアクセスする。
Google認証画面

ソースコード(抜粋)
function GCAL_GetAuthUrl() { $url_ep = *** // 上記でGoogle認証サイトへ設定したエンドポイント $client = GCAL_CreateClient($params); $scopes = array('https://www.googleapis.com/auth/calendar'); $client->setAccessType('offline'); $client->setRedirectUri($url_ep); $client->setScopes($scopes); $client->setApprovalPrompt('force'); $url = $client->createAuthUrl(); return $ret; } function GCAL_GetTokens($code) { $url_ep = *** // 上記でGoogle認証サイトへ設定したエンドポイント $client = GCAL_CreateClient($params); $client->setRedirectUri($url_ep); $client->authenticate($code); $token_json = $client->getAccessToken(); $tokens = json_decode($token_json); $ret['tokens'] = $tokens; $ret['result'] = 'SUCCESS'; return $ret; } function GCAL_CreateClient($params) { $clientid = *** // 上記でGoogle認証サイトで取得したクライアントID $clientsecret = *** // 上記でGoogle認証サイトで取得したクライアントシークレット $client = new Google_Client(); $client->setClientId($clientid); $client->setClientSecret($clientsecret); $client->getIo()->setOptions( array( CURLOPT_PROXY => *** // Proxy設定あるなら CURLOPT_PROXYPORT => *** // Proxy設定あるなら ) ); return $client; }
コメント