Google アナリティクスに API リクエストを実行すると、データが返されないことがよくあります。うまくいくこともあれば、うまくいかないこともあります。
私の API 呼び出しは次のようになります。
public function get_pageviews( )
{
$result = $this->service->data_ga->get(
'ga:' . $this->profile_id, // report id
$this->convert_time( "-".$this->timespan." days", "Y-m-d" ), // start date
$this->convert_time( $this->end, "Y-m-d" ), // end date
"ga:pageviews", // metrics
array( "dimensions" => "ga:date" ) // other...
);
return $result;
}
正しい出力は次のとおりです。
["totalsForAllResults"]=>
array(1) {
["ga:pageviews"]=>
string(4) "1503"
}
["rows"]=>
array(8) {
[0]=>
array(2) {
[0]=>
string(8) "20120823"
[1]=>
string(3) "333"
}
[1]=>
array(2) {
[0]=>
string(8) "20120824"
[1]=>
string(3) "185"
}
[2]=>
array(2) {
[0]=>
string(8) "20120825"
[1]=>
string(2) "52"
}
[3]=>
array(2) {
[0]=>
string(8) "20120826"
[1]=>
string(3) "110"
}
[4]=>
array(2) {
[0]=>
string(8) "20120827"
[1]=>
string(3) "335"
}
[5]=>
array(2) {
[0]=>
string(8) "20120828"
[1]=>
string(3) "222"
}
[6]=>
array(2) {
[0]=>
string(8) "20120829"
[1]=>
string(3) "257"
}
[7]=>
array(2) {
[0]=>
string(8) "20120830"
[1]=>
string(1) "9"
}
}
そして、データのない間違った出力は次のとおりです。
["totalsForAllResults"]=>
array(1) {
["ga:pageviews"]=>
string(1) "0"
}
["rows"]=>
array(8) {
[0]=>
array(2) {
[0]=>
string(8) "20120823"
[1]=>
string(1) "0"
}
[1]=>
array(2) {
[0]=>
string(8) "20120824"
[1]=>
string(1) "0"
}
[2]=>
array(2) {
[0]=>
string(8) "20120825"
[1]=>
string(1) "0"
}
[3]=>
array(2) {
[0]=>
string(8) "20120826"
[1]=>
string(1) "0"
}
[4]=>
array(2) {
[0]=>
string(8) "20120827"
[1]=>
string(1) "0"
}
[5]=>
array(2) {
[0]=>
string(8) "20120828"
[1]=>
string(1) "0"
}
[6]=>
array(2) {
[0]=>
string(8) "20120829"
[1]=>
string(1) "0"
}
[7]=>
array(2) {
[0]=>
string(8) "20120830"
[1]=>
string(1) "0"
}
}
ご覧のとおり、多次元配列の行は空ではありませんが、配列の値は 0 に設定されていますが、Google アナリティクス API を使用して送信したのとまったく同じリクエストです。
リクエストに欠けているものはありますか、それとも何か間違っていますか?