api实时Google Analytics(分析)不适用于js的客户端

时间:2018-11-30 09:04:38

标签: javascript google-api google-oauth google-analytics-api google-api-js-client

enter image description here

我尝试使用Api密钥和OAuth 2.0 结果是我有这个错误http://prntscr.com/lov2pz 请帮忙。 我应该使用Wich Api钥匙吗? 我犯了什么错误?

    

function fetchData() {
    var options = {
        'Origin': 'http://210.72.1.33:8023',
        'Host': '210.72.1.33:8023'
    };

    var response = UrlFetchApp.fetch("http://210.72.1.33:8023/gzaqi_new/RealTimeDate.html",options);
    Logger.log(response.getContentText());

}

1 个答案:

答案 0 :(得分:0)

首先,您需要了解私有数据和公共数据之间的区别。公共数据是任何人都不拥有的数据。例如,任何人都可以在Youtube api中搜索YouTube视频

另一方面,Google Analytics(分析)数据是私有的,由用户拥有。 Api密钥用于访问公共数据而不是私有数据。为了访问Google私人分析数据,您需要以有权访问该数据的用户身份登录。

教程quickstart js 将向您展示如何使用JS访问google anlaytics数据,您将不得不为实时api对其进行更改,但我不是js开发人员,因此无法提供帮助,但您应该能够使用此示例理解登录过程

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

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

<!-- The Sign-in button. This will run `queryReports()` on success. -->
<p class="g-signin2" data-onsuccess="queryReports"></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 = '<REPLACE_WITH_VIEW_ID>';

  // 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>