- 締切済み
ajaxとphpでapiのデータ取得
上手にお伝えできるか不安ですが、以下の事象の原因で考えられるものがありましたら、アドバイスいただきたいです。 [処理内容] js(ajax)でphpをたたいて、GAのapiに接続、ページビューを取得して その取得内容もとにphpで静的ファイルを生成(jsonやhtml)して、任意の箇所で表示させています。 アクセスランキングのようなものになります。 ---------------------------------------------------- jsでphp呼び出し→phpでGAにアクセス→GA→phpで受け取る→jsonやhtml生成 ---------------------------------------------------- [気になる事象] GAからのデータの取得やjsonの生成は概ねうまくいっているのですが、時にデータが取得できない時があります。 何故かphpファイルを更新する(ソースに改行を加えただけ)と正しいデータが取得できたりします。 そんなことが動作に影響するのかわからないのですが、また1日後とかにデータを取得して表示させようとすると、 phpファイルを更新しない限り前回取得した状態から更新されなくなります。 キャッシュみたいなものが介在するのかわからないのですが、ajaxの部分の記述でcashはfalseとしています。 ちなみにGAの管理画面ではページビューが取れているので、apiとphpの間が怪しいといえば怪しそうな気もしています。 尚、静的ファイル(jsonやhtml)のタイプスタンプの更新は、js(ajax)にアクセスする度に正しく行われている為、 それらのファイルの生成そのものは問題ないと思われます。 拙い説明で恐縮ですが、 どうぞよろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- pajama7
- ベストアンサー率50% (3/6)
補足
アドバイスありがとうございます! 大変ありがたいです。 そして調査が緩くてすみません。 ステータスコードを表示してみたところ、200でした。 ちょっと思い込みがあったのですが、 GAのデータが取れているとお伝えしたのは、GAのリアルタイムの取得値の部分で、 私が取得しているデータは日付を指定して取得している形なので、「リアルタイム」とは異なるような気がしてきました。 実際にGAの側でリアルタイムではない当日の計測値を見るとまだ0のままでした。 GA側の当日のデータ(リアルタイムではないです)として表示されるところの数値が表示されるまでの時間は、 環境によってけっこうタイムラグがあるのでしょうか。(ご質問の趣旨がズレてすみません) 一応、復数の環境で試しているのですが、一方はけっこう早くて、もう一方は1日後とかです。 環境次第で比較的短時間で取れるケースもあれば、1日後みたいなケースもあったりするとすれば、この200という状態も致し方ない事かなと思いつつあります。 仮にそんなケースがあるのなら、当日のデータを表示するのはやめた方が良さそうな気がしています。