Hello Analytics示例生成403错误

时间:2016-10-04 23:36:57

标签: javascript google-analytics-api

我是"新手"谷歌分析API,我试图获得" Hello Analytics"示例工作。

我跟着their steps 创建测试网页,但没有结果。

当我进入我的网页时,我会看到标题,"登录"按钮和结果应显示的下方文本区域。当我按下#34;登录"时,这似乎有效;按钮变为"签到"。但是,没有结果出现。

我正在使用FireFox,因此我右键单击文本区域并选择" Inspect Element&#34 ;;这显示此错误消息:

  

对象{结果:对象,正文:" {"错误":{"代码":403,...",   headers:Object,status:403,statusText:" Forbidden" }

我认为这是一个权限错误,但不知道如何纠正它。

这是我的文件HelloAnalytics.html:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Hello Analytics Reporting API V4</title>
  <meta name="google-signin-client_id" content="959582115031-ardmn5vsir7kbcp0dme4d4n1p45bd649.apps.googleusercontent.com">
  <meta name="google-signin-scope" content="https://www.googleapis.com/auth/analytics.readonly">
</head>
<body>

<h1>Hello Analytics Reporting API V4</h1>

<p>
  <!-- The Sign-in button. This will run `queryReports()` on success. -->
  <div class="g-signin2" data-onsuccess="queryReports"></div>
</p>

<!-- The API response will be printed here. -->
<textarea cols="80" rows="20" id="query-output"></textarea>

<script>
  // Replace with your view ID.
  var VIEW_ID = '92320289';

  // Query the API and print the results to the page.
  function queryReports() {
    gapi.client.request({
      path: '/v4/reports:batchGet',
      root: 'https://analyticsreporting.googleapis.com/',
      method: 'POST',
      body: {
        reportRequests: [
          {
            viewId: VIEW_ID,
            dateRanges: [
              {
                startDate: '7daysAgo',
                endDate: 'today'
              }
            ],
            metrics: [
              {
                expression: 'ga:sessions'
              }
            ]
          }
        ]
      }
    }).then(displayResults, console.error.bind(console));
  }

  function displayResults(response) {
    var formattedJson = JSON.stringify(response.result, null, 2);
    document.getElementById('query-output').value = formattedJson;
  }
</script>

<!-- Load the JavaScript API client and Sign-in library. -->
<script src="https://apis.google.com/js/client:platform.js"></script>

</body>
</html>

我需要了解如何使用Google AnalyticsAPI进行简单查询。

1 个答案:

答案 0 :(得分:1)

最终让它发挥作用!

我尝试使用API​​获取Google示例网站(“Google Merchandise Store”)的数据。我试图想出允许错误的可能原因,而且我想到Google可能不允许对该网站进行Analytics API调用。

因此,我努力设置自己的测试网站,其中包含Google的Javascript跟踪代码,然后定义新项目,为其启用API,创建凭据(客户端ID)并获取视图ID我的网站。使用HelloAnalytics.html页面中的新客户ID和视图ID,它运行良好。

所以我的猜测是正确的:Google不允许API调用来获取其“Google Merchandise Store”示例网站的数据。他们真的应该在their "quickstart" page上提到这一点,因为“新手”(像我一样)不会知道这一点!

我认为我应该发布我的解决方案,因为我确信其他人将来会遇到这个问题。

仅供参考 - 我在网络服务器上运行HelloAnalytics.html。我正在使用我的ISP提供的免费网站空间。