Javascript 谷歌图表嵌入API不起作用

Javascript 谷歌图表嵌入API不起作用,javascript,angularjs,google-analytics-api,Javascript,Angularjs,Google Analytics Api,我正在使用嵌入API从ServiceAccount在我的站点上包括GA图表。 该网站是一个带有AngularJS的单页应用程序。 我为每个图表类型和控制器创建了几个指令,命名为GAController,它们之间共享。在这个控制器中,我使用gapi.analytics.ready(..)等待分析对象完全加载 问题是,当页面刷新后第一次调用GAController时,使用回调函数调用gapi.analytics.ready(..),然后执行身份验证和其他逻辑。 Hovewer,如果我第二次通过ui路

我正在使用嵌入API从ServiceAccount在我的站点上包括GA图表。 该网站是一个带有AngularJS的单页应用程序。 我为每个图表类型和控制器创建了几个指令,命名为
GAController
,它们之间共享。在这个控制器中,我使用
gapi.analytics.ready(..)
等待分析对象完全加载

问题是,当页面刷新后第一次调用
GAController
时,使用回调函数调用
gapi.analytics.ready(..)
,然后执行身份验证和其他逻辑。 Hovewer,如果我第二次通过
ui路由器
从另一个页面转到该页面,则回调被添加到
ready
,但不执行。一点也不

在模板页面底部,有
gapi脚本

  (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'));
我的代码如下:

gapi.analytics.ready(function () {
  // this is not called the second time
  if (!gapi.analytics.auth.isAuthorized()) {
    gapi.analytics.auth.authorize({
      serverAuth: $scope.$parent.getAccessToken()
    });
  }
  // do some other logic
});
但是一直以来,
gapi.analytics
对象都处于相同的状态
{q:[],ready:function()…}

谁能帮我弄明白发生了什么事。 谢谢你的帮助,我找到了答案。 你可以试试这个,替换“gapi脚本”


我也有同样的问题,有人帮我们吗
                    (function (w, d, s, g, js, fs) {
                    if ($('#googleCache').length > 0) return;
                    g = w.gapi || (w.gapi = {}); g.analytics = { q: [], ready: function (f) { this.q.push(f); } };
                    js = d.createElement(s); fs = d.getElementsByTagName(s)[0];
                    js.src = 'https://apis.google.com/js/platform.js';
                    js.id = "googleCache";
                    fs.parentNode.insertBefore(js, fs); js.onload = function () { g.load('analytics'); };
                }(window, document, 'script'));