【问题标题】:GAPI: Failed to request report data. Error: "User does not have any Google Analytics account."GAPI:请求报告数据失败。错误:“用户没有任何 Google Analytics(分析)帐户。”
【发布时间】:2015-10-30 07:51:46
【问题描述】:

我对 gapi 有疑问。我有很多来自网站合作伙伴的 ga_id。我需要他的统计数据。我的代码:`

$this->ga = new gapi($myemail, $path_to_key_p12);
        if (false === $this->ga->requestReportData(
            $ga_id,
            array_merge(array('country'), $dimensions), 
            $metrics, 
            '-visits',
            $filter, 
            $datestart, $datefinish,
            1, 1000))
        {
            return false;
        }


    /** @var gapiAccountEntry $result */
    $result = null;
    foreach ($this->ga->getResults() as $result) { 
        $row['site_uid'] = $site_id;
        $row['country'] = $result->getCountry();
        $row['visitors'] = $result->getVisitors(); // unique
        $row['pageviews'] = $result->getPageviews();
        $row['visits'] = $result->getVisits();
        $row['crdate'] = $result->getDate());            
        $this->save_ga_data($type, $row);
    }`

它不起作用。我有:

GAPI:请求报告数据失败。错误:“用户没有任何 谷歌分析帐户。 但在谷歌开发者控制台中,这个网址有效。

UPD:我可以从谷歌开发者控制台获取所有信息 我使用这个库link可能是我对她有误?

【问题讨论】:

    标签: javascript php google-api google-analytics-api


    【解决方案1】:

    您可能正在使用 Oauth2 进行身份验证。您已通过可能是您自己的 Google 帐户进行身份验证的用户。无权访问任何 Google Analytics 帐户。

    您需要先让他们授予您对帐户的访问权限,然后您才能请求数据。

    如果您使用的是服务帐户而不是 Oauth2。您需要向他们提供服务帐户电子邮件地址,并要求他们将其添加为帐户级别的 Google Analytics(分析)帐户中的用户,它只需要读取权限。

    【讨论】:

    • 噢噢,谢谢。我是否有任何变体可以在不联系此帐户所有者的情况下解决此问题?
    • 不,您需要帐户所有者授予您访问数据的权限。没有其他方法可以做到这一点。
    • 当我没有帐户访问权限时,为什么我可以从开发者控制台获取有关此网站的信息?
    • 您无法从与谷歌分析无关的谷歌开发者控制台获取有关此站点的信息。 Google 分析数据位于 google.com/analytics 上。 console.developers.google.com/project?authuser=0 仅包含有关访问 Google API 的应用程序的数据。
    • 我可以从这个地方获取有关访问和浏览量的信息吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多