google+ API が公開されたそうなのでサンプル動かしてみた時にハマったことのメモ
昨日リリースされたんですかね?Google+ API | Google+ Platform for Web | Google Developersが使えるようになっていたので、早速サンプルを試してみました。
ローカル環境はxamppなのでphp選択ですがあしからずw
各自ドキュメントを読むのは当たり前として、Downloads | Google+ Platform | Google Developersから、Google Code Archive - Long-term storage for Google Code Project Hosting.に飛んで、スターターの zip ファイルをダウンロードして展開。
ついでにGoogle Code Archive - Long-term storage for Google Code Project Hosting.から最新のクライアントライブラリをダウンロードして、スターターの直下に展開。
xamppデフォルトなら htdocs 下に上記ファイルを展開。短いほうがアクセスしやすいので、フォルダ名を gpps(google plus php starterだから)に変更。
Google Cloud Platformでgoogle+APIをonにセット
左メニューの API Access で Create an OAuth2 client ID ってボタンを押して、必要事項を入力。プロジェクト名はなんでもいいみたい。url は https://localhost/gpps/ にセット。
Create client IDってすると、OAuthやったことがある人ならおなじみのなんちゃらキーとかが表示される。
gpps/index.php をエディタで開いて、26行目前後のところに値をセット。
$client->setClientId('ほにゃらら.apps.googleusercontent.com');
$client->setClientSecret('うにゃうにゃ');
$client->setRedirectUri('https://localhost/gpps/');
$client->setDeveloperKey('ここは迷ったけどconsole のSimple API AccessのAPI Keyをセット');
ってしたら https://localhost/gpps/ でアクセスしてできあがり。
以下、環境差にもよるけどはまったところをメモ。
- ssl を別要件で使っているときは設定に注意
- zend等を入れていて.htaccessがフックしちゃうとかも注意
- curl が必要なので xampp/php/php.ini で curl エクステンションのコメントを解除すること
- http でやろうとするとうまくいかなかったのはなんでかなー
- curl で Fatal error: Uncaught CurlException: 60: SSL certificate problem, verify that the CA cert is OK. Details: error みたいなのがでたら、オプションの問題なので /xampp/htdocs/gpps/google-api-php-client/src/io/apiCurlIO.php をエディタで開いて、112行目の
を
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
にしてあげれば大丈夫。でもこれ本番機でこんな設定にするなよ。。?
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- あとは、gpps/index.php がsjis 認識されて読み込んだAPIの結果が文字化けするのが気になったら、index.php の head の中に <meta charset="UTF-8" />いれてあげれば大丈夫。
出来上がったらindex.phpで他の戻り値を出力してみるとか、他のAPIを呼んでみるとかすればOK。
でもconsoleで見る限り1日1000回しかAPI呼べないようなので、遊びすぎには注意(遊びでそんなに使う人もいないダロ。。。)