Google Analytics API - 与 Symfony2 集成

Posted

技术标签:

【中文标题】Google Analytics API - 与 Symfony2 集成【英文标题】:Google Analytics API - Integration With Symfony2 【发布时间】:2015-04-07 11:25:52 【问题描述】:

我正在尝试通过 OAuth2 访问 Google Analytics API。

我做了什么:

    打开开发者控制台 > APIs and Auth > Credentials

    创建新的客户端 ID

    生成 p12 密钥

    在服务器上复制密钥

    打开谷歌分析页面 > admin > Account > User Management

    从生成的客户端 ID 添加电子邮件,例如:xxxxxxxx-xxxxxxxxxxxxxxx@developer.gserviceaccount.com

    授予此电子邮件阅读和分析权限

    然后当我返回开发者控制台时 > 权限。新电子邮件将添加到具有编辑权限的服务帐户

    重新检查 Google Analytics 是否已启用并且数据是否正在输入。

现在我已经安装了 widop/google-analytics-bundle 并配置了包:

widop_google_analytics:
    client_id:        "xxxxxxxx-xxxxxxxxxxxxxxx@developer.gserviceaccount.com"
    profile_id:       "ga:12345678"
    private_key_file: "mykey.p12"
    http_adapter:     "widop_http_adapter.curl"

我尝试创建的查询是:

        $profileId = 'ga:12345678';
        $query = new Query($profileId);

        $query->setStartDate(new \DateTime('-2months'));
        $query->setEndDate(new \DateTime());

        $query->setMetrics(array('ga:visits' ,'ga:bounces'));
        $query->setDimensions(array('ga:browser', 'ga:city'));

        $query->setSorts(array('ga:country', 'ga:browser'));

        $query->setFilters(array('ga:browser=~^Firefox'));

        $query->setSegment('gaid::10');

        $query->setStartIndex(1);
        $query->setMaxResults(10000);
        $query->setPrettyPrint(false);
        $query->setCallback(null);

        $clientId = 'xxxxxxxx-xxxxxxxxxxxxxxx@developer.gserviceaccount.com';
        $privateKeyFile = 'mykey.p12';
        $httpAdapter = new CurlHttpAdapter();

        $client = new Client($clientId, $privateKeyFile, $httpAdapter);
        $token = $client->getAccessToken();

        $service = new Service($client);
        $response = $service->query($query);

        return $response;

作为响应,我收到此错误:

User does not have sufficient permissions for this profile.

当我打开开发者控制台 > 概览 > 1 小时(选项卡)

我注意到请求正在进入。

从所有这些 - 我假设身份验证和查询都可以,但用户无权获取任何奇怪的数据,因为我已授予读取和分析权限 xxxxxxxx-xxxxxxxxxxxxxxx@developer.gserviceaccount.com

该异常的原因是什么?

【问题讨论】:

【参考方案1】:

我不知道你是否已经解决了这个问题。 我的解决方案是在分析帐户上使用视图 ID 而不是帐户 ID。 视图 ID 位于设置的第三列,在 Google Analytics(分析)管理面板上。

对不起我的英语。

【讨论】:

以上是关于Google Analytics API - 与 Symfony2 集成的主要内容,如果未能解决你的问题,请参考以下文章

Google Analytics API - 与 Symfony2 集成

Google Analytics API 收入差异

Google Analytics Reporting Api - PHP:添加用户帐户

每天可以对 Google AdWords 和 Analytics 进行多少 API 调用?

导入错误:Google Analytics API 授权

Google Analytics Metadata API 识别有效组合