GoogleアナリティクスAPIを利用して、PHPからPVやセッション数などの情報を取得しようと、下記の公式チュートリアルにならってコードを書いていたのだが、ローカルサーバーを立ち上げてページへアクセスしたところエラーが発生した。
Google Analytics API 公式チュートリアル
そのエラー内容がこちら。
Uncaught GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate
調べたところ、httpsのサイトにアクセスしようとした際に、そのサーバが信頼できるかの証明書が取得できなかった時に発生するエラーのようだ。
今回はこのエラーの解決法を紹介する。
証明書ファイルをダウンロード
証明書ファイルを下記のリンクからダウンロードして、プロジェクトディレクトリに保存する。
http://curl.haxx.se/ca/cacert.pem
PHPファイルから証明書を読み込む
証明書を入手したら、チュートリアル内で作成する2つのPHPファイルに以下を追記する。
$client = new Google_Client();
// 以下の4行を追記
$http = new GuzzleHttp\Client([
'verify' => __DIR__.'/cacert.pem'
]);
$client->setHttpClient($http);
これで、前述のエラーを解消することができた。