GoogleAPIがcurlで上手く通らない時は、file_get_contents使おう

2017-10-14 2017-10-16

PHPから「Google Maps Distance Matrix API」を利用しようと思った際に軽ハマりしたのでメモ。

いつも通りcurlでGoogleのAPIを使おうとしたところ、INVALID_REQUESTエラー。厄介なのは、レスポンスが200で帰ってきてしまっている点。INVALID_REQUESTエラーはパラメーター設定ミスなどで返ってくるエラーですが、どうもそういうことではない模様。

ということで一通り苦しんだ後、file_get_contentsに変えたらすんなり通ったのでその共有です。

駄目なパターン

これは全然通りません。レスポンスでは200 OKが返ってくるものの、中身はINVALID_REQUESTエラー。

これならOK

「原因をちゃんと解明していない!」と怒る人もいそうですが、外部のサービスなんだから正しいレスポンスが取れれば良いんです。

暇になったら、Googleが何を弾いているのか調査してみたいと思います。