Google Analytics嵌入API错误:未捕获的异常[object Object]

时间:2018-01-06 10:22:13

标签: javascript google-analytics

我正在尝试将Google Analytics(GA)添加到我的信息中心,并且我完全复制了this article中的代码。 但是,我看到了这个错误:

uncaught exception: [object Object] (unknown script)

我很确定我也完全复制了Google提供的CLIENT_ID。为了方便人们,我在这里发布我的代码:

<section id="auth-button"></section>
<section id="view-selector"></section>
<section id="timeline"></section>


<script>
(function(w,d,s,g,js,fjs){
  g=w.gapi||(w.gapi={});g.analytics={q:[],ready:function(cb){this.q.push(cb)}};
  js=d.createElement(s);fjs=d.getElementsByTagName(s)[0];
  js.src='https://apis.google.com/js/platform.js';
  fjs.parentNode.insertBefore(js,fjs);js.onload=function(){g.load('analytics')};
}(window,document,'script'));
</script>

<script>
gapi.analytics.ready(function() {


  var CLIENT_ID = 'xxxxxxxxxxxx.apps.googleusercontent.com';

  gapi.analytics.auth.authorize({
    container: 'auth-button',
    clientid: CLIENT_ID,
  });


  var viewSelector = new gapi.analytics.ViewSelector({
    container: 'view-selector'
  });


  var timeline = new gapi.analytics.googleCharts.DataChart({
    reportType: 'ga',
    query: {
      'dimensions': 'ga:date',
      'metrics': 'ga:sessions',
      'start-date': '30daysAgo',
      'end-date': 'yesterday',
    },
    chart: {
      type: 'LINE',
      container: 'timeline'
    }
  });


  gapi.analytics.auth.on('success', function(response) {
    viewSelector.execute();
    console.log(response);
  });

  viewSelector.on('change', function(ids) {
    var newIds = {
      query: {
        ids: ids
      }
    }
    timeline.set(newIds).execute();
  });
});
</script>

以前有人见过这个吗?

2 个答案:

答案 0 :(得分:0)

今天发现了这个问题。

您可以添加

window.addEventListener('error', function(event) {
  console.log('err', event);
});

发现潜在的错误。

对我来说是因为

gapi.analytics.auth.authorize({
    container: 'auth-button',
    clientid: CLIENT_ID,
});

显示的错误(被截断)

error: Object { error: "idpiframe_initialization_failed... Please go to https://console.developers.google.com/ and whitelist this origin for your project's client ID" }

答案 1 :(得分:0)

我还想知道这可能是什么。 Firefox在控制台中根本没有帮助。但是Chrome给出了完整的错误消息。

我通过转到API控制台并将我的网站的域名添加到“授权JavaScript”来源中来解决此问题。等待几分钟,使更改传播,它将起作用。