開発用、もしくはcron処理だったりAPI用だったりと「なにか1つだけ有効なトークンがあればいいや、別に他のユーザーに認証させるつもりはないよ」という場面が多々ありませんか。私はあります。
ただ、その際に「OAuth・・コールバックしてリクエストトークンを・・云々・・」とかいちいちやるの面倒くさいな、と毎度思うのでした。
そこら辺の悩みを一気に巻き取ってくれるものがあったので紹介がてら備忘メモ。
https://github.com/asimlqt/php-google-oauth
実際、32行の1ファイルなので「超シンプル」「別に何もしない」感じのものですが・・手順を思い出すよりは早い。
0, 前提: アプリケーション登録は済ませてある & OAuth用のキーは発行済
- Google Developers Console開く
- ヘッダーメニューの下層にある「プロジェクトの作成」から適当なPJを作る
- 自動的に作成したPJに遷移しない場合は、「すべてのプロジェクトの管理」を叩いて移動
- APIを有効化
- 認証情報を登録; 先に「OAuth同意画面」の情報が必要なので入れておく
- ユーザーに表示するサービス名は適当
- 認証情報を登録; OAuthクライアントID作成 ここで「承認済みのリダイレクトURI」は実際に利用するURLを適切に入力する必要有り。ここでは例として「http://localhost:8081」に。
- 作成すると「クライアントID」「クライアントシークレット」が表示されるのでメモしておく
これで下準備おわり。ここから10秒位でトークンを発行できます・・!
1, php-google-oauth を落とす
git clone git@github.com:asimlqt/php-google-oauth.git
2, index.phpの「$clientId」「$clientSecret」「$redirectUrl」を編集
取得されたクライアント情報及び登録したリダイレクトURlに書き換えてください。
3, ビルトインサーバーでPHPを起動
index.phpと同階層に移動して、php -S localhost:8081
を打つ。
ポート8081番で待受けが開始されます
4, 認証
「http://localhost:8081」を開いて、指示通りに認証を行なう
5, 取得完了
トークン情報が画面上にdumpされている
以上です。
リフレッシュトークンも一緒に取得されているので、適当に扱ってください