谷歌分析报告多渠道漏斗 API 响应与谷歌分析仪表板上的响应不正确

问题描述

我正在使用 Google Analytics 报告 API 来请求多渠道漏斗数据。我正在使用 PHP 发出请求。

我的 PHP 代码是这样的:

public function myconversions($viewId){
        $res = array();
        $res['error'] = false;
        $res['success'] = false;
        //Create the Daterange object.
        $analytics = $this->initializeAnalytics();
        $metrics2 = "mcf:assistedConversions,mcf:assistedValue,mcf:totalConversionValue,mcf:totalConversions,mcf:lastInteractionConversions";
        $optParams = array(
          "dimensions" => "mcf:keyword,mcf:campaignName,mcf:sourceMedium",//"mcf:adwordsCampaign,mcf:campaignName",);
        try{
          $reports = $analytics->data_mcf->get('ga:'.$viewId,$_GET['startDate'],$_GET['endDate'],$metrics2,$optParams);
          $res['success'] = true;
          $res['result'] = $reports;
        }catch(Exception $e){
          $res['error'] = true;
          $res['result'] = $e;
        } 
        return $res;
      } 

虽然我收到了此请求的回复,但该回复与我的 Google Analytics(分析)仪表板上的结果无关。

这是我从上面的代码得到的结果的截图:

API Response screenshot from my API code

如上图所示,结果中有 12 行,所有这些行都显示 PrimitiveValue: null。但是当我在我的 Analytics 仪表板上提出相同的请求时,情况就不是这样了。

然后我决定使用 Google Api Explorer 发出相同的请求。令我惊讶的是,我使用 Google Api Explorer 得到了正确的结果。

这是我从 Google Api Explorer 得到的结果:

"rows": [
    [
      {
        "primitiveValue": "(not provided)"
      },{
        "primitiveValue": "(not set)"
      },{
        "primitiveValue": "google / organic"
      },{
        "primitiveValue": "4"
      },{
        "primitiveValue": "2368.0"
      },{
        "primitiveValue": "5701.0"
      },{
        "primitiveValue": "10"
      },{
        "primitiveValue": "6"
      }
    ],[
      {
        "primitiveValue": "(not set)"
      },{
        "primitiveValue": "(direct) / (none)"
      },{
        "primitiveValue": "18"
      },{
        "primitiveValue": "11307.0"
      },{
        "primitiveValue": "22375.0"
      },{
        "primitiveValue": "28"
      },{
        "primitiveValue": "20"
      }
    ],{
        "primitiveValue": "britainreviews.co.uk / referral"
      },{
        "primitiveValue": "2"
      },{
        "primitiveValue": "1718.0"
      },{
        "primitiveValue": "4018.0"
      },{
        "primitiveValue": "2"
      }
    ],{
        "primitiveValue": "dealsplanet.co.uk / referral"
      },{
        "primitiveValue": "1683.0"
      },{
        "primitiveValue": "3183.0"
      },{
        "primitiveValue": "topcashback.co.uk / referral"
      },{
        "primitiveValue": "0"
      },{
        "primitiveValue": "0.0"
      },{
        "primitiveValue": "650.0"
      },{
        "primitiveValue": "usevoucher.co.uk / referral"
      },{
        "primitiveValue": "1659.0"
      },{
        "primitiveValue": "vouchercodes.co.uk / referral"
      },{
        "primitiveValue": "0"
      }
    ],{
        "primitiveValue": "campaign: NEW YEAR - OLD FRIENDS! ? (5ffdf6cd60becb284d0e63d0)"
      },{
        "primitiveValue": "omnisend / email"
      },{
        "primitiveValue": "519.0"
      },[
      {
        "primitiveValue": "product_type_l1==bags"
      },{
        "primitiveValue": "Bags"
      },{
        "primitiveValue": "google / cpc"
      },[
      {
        "primitiveValue": "product_type_l1==chanel bag tote"
      },{
        "primitiveValue": "Chanel Bag Tote"
      },[
      {
        "primitiveValue": "product_type_l1==chanel wallet on chain- woc"
      },{
        "primitiveValue": "Chanel Wallet On Chain- WOC"
      },{
        "primitiveValue": "1613.0"
      },[
      {
        "primitiveValue": "product_type_l1==crossbody bags"
      },{
        "primitiveValue": "Crossbody Bags"
      },{
        "primitiveValue": "8"
      },{
        "primitiveValue": "8783.0"
      },{
        "primitiveValue": "0"
      }
    ]
  ]

我的代码可能有什么问题?这是我使用的范围:

'https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/analytics'

我需要添加新的范围吗?我真的很困惑。任何有 Analytics API 经验的人,我都会非常感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)