Google analytics Google Analytics嵌入API:设置选择器显示默认值

Google analytics Google Analytics嵌入API:设置选择器显示默认值,google-analytics,google-analytics-api,Google Analytics,Google Analytics Api,我正在使用谷歌分析嵌入API。下面是我在谷歌开发页面上使用的代码示例。有没有办法设置选择器的默认值?账户|财产|视图 <!doctype html> <html lang="en"> <head> <title>Google Charts</title> <script> (function(w,d,s,g,js,fs){ g=w.gapi||(w.ga

我正在使用谷歌分析嵌入API。下面是我在谷歌开发页面上使用的代码示例。有没有办法设置选择器的默认值?账户|财产|视图

<!doctype html>
<html lang="en">
    <head>
    <title>Google Charts</title>
        <script>
        (function(w,d,s,g,js,fs){
            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';
            fs.parentNode.insertBefore(js,fs);js.onload=function(){g.load('analytics');};
        }(window,document,'script'));
        </script>

        <script>
        gapi.analytics.ready(function() {
        var ACCESS_TOKEN = 'xxxxx'; // obtained from your service account

        gapi.analytics.auth.authorize({
            serverAuth: {
            access_token: ACCESS_TOKEN
            }
        });


        /**
           * Create a new ViewSelector instance to be rendered inside of an
            * element with the id "view-selector-container".
        */
            var viewSelector = new gapi.analytics.ViewSelector({
            container: 'view-selector-container'
        });

        // Render the view selector to the page.
           viewSelector.execute();


        /**
        * Create a new DataChart instance with the given query parameters
        * and Google chart options. It will be rendered inside an element
        * with the id "chart-container".
        */
           var dataChart = new gapi.analytics.googleCharts.DataChart({
           query: {
           metrics: 'ga:users',
           dimensions: 'ga:date',
           'start-date': '30daysAgo',
           'end-date': 'yesterday'
           },
           chart: {
           container: 'chart-container',
           type: 'LINE',
           options: {
           width: '100%'
              }
           }
       });


       /**
       * Render the dataChart on the page whenever a new view is selected.
       */
        viewSelector.on('change', function(ids) {
        dataChart.set({query: {ids: ids}}).execute();
        });

       });
       </script>

</head>

<body> 

    <div id="embed-api-auth-container"></div>
    <div id="chart-container"></div>
    <div id="view-selector-container"></div> 

</body>
</html>  

谷歌图表
(功能(w、d、s、g、js、fs){
g=w.gapi | |(w.gapi={});g.analytics={q:[],ready:function(f){this.q.push(f);};
js=d.createElement;fs=d.getElementsByTagName[0];
js.src=https://apis.google.com/js/platform.js';
fs.parentNode.insertBefore(js,fs);js.onload=function(){g.load('analytics');};
}(窗口、文档、“脚本”);
gapi.analytics.ready(函数(){
var ACCESS_TOKEN='xxxxx';//从您的服务帐户获得
gapi.analytics.auth.authorize({
serverAuth:{
访问令牌:访问令牌
}
});
/**
*创建新的ViewSelector实例以在
*id为“视图选择器容器”的元素。
*/
var viewSelector=new gapi.analytics.viewSelector({
容器:“视图选择器容器”
});
//将视图选择器呈现到页面。
viewSelector.execute();
/**
*使用给定的查询参数创建新的DataChart实例
*和谷歌图表选项。它将在一个元素中呈现
*id为“图表容器”。
*/
var dataChart=new gapi.analytics.googleCharts.dataChart({
查询:{
指标:“ga:用户”,
维度:“ga:日期”,
‘开始日期’:‘30天Sago’,
“结束日期”:“昨天”
},
图表:{
容器:“图表容器”,
键入:“行”,
选项:{
宽度:“100%”
}
}
});
/**
*每当选择新视图时,在页面上呈现dataChart。
*/
viewSelector.on('change',函数(id){
set({query:{ids:ids}}).execute();
});
});

您首先要找到您想要作为默认值的帐户的ID值。您可以通过控制台记录“id”,然后在视图选择器容器中选择选择器来完成此操作。这将超过浏览器控制台中的一个数字。 然后需要将“ids”的值设置为该数字。您可以在两个地方对其进行更改,首先将其添加到dataChart的查询中。因此,例如,如果您的ID号是12345678,那么您将按照如下所示编写它(ID:'ga:12345678'):

然后还需要更改执行dataChart的ID的值

viewSelector.on('change', function(ids) {
    dataChart.set({query: {ids: ids}}).execute();
});
因此,在查询中,第二个“id”发生了如下更改:

viewSelector.on('change', function(ids) {
    dataChart.set({query: {ids: 'ga:12345678'}}).execute();
    });

我也有同样的想法,页面上的viewSelector实际上造成了一点安全漏洞。我最后做的是为我想要查看的单一视图(GID)和我的控制台帐户的客户机ID创建常量

/********************** Constants ****************************/
var GID = {query: {ids:'ga:xxxxxxxxx'}};
var CLIENT_ID = 'xxxxxxxxxx-xxxxxxxxxxxx.apps.googleusercontent.com';
/*************************************************************/
我保留了授权代码

gapi.analytics.auth.authorize({
  container: 'auth-button',
  clientid: CLIENT_ID,
});
我删除了viewSelector代码

var viewSelector = new gapi.analytics.ViewSelector({
  container: 'view-selector'
});
执行Datachart对象时。我用了这个密码

sessions.set(GID).execute();

其他一切都保持不变。

很遗憾,我没有找到任何方法为视图选择器设置默认“ID”。作为替代方案,您可以查看嵌入API的Web组件实现:。它确实支持将“ID”设置为视图选择器。我刚刚对此进行了测试,并创建了一个示例。另外一个选项是使用
ViewSelector2
component from,如果您不想深入研究Web组件/聚合物并且有很多依赖性的话。获取GitHub上的代码:。添加到前面的注释:使用
viewSelector.set({viewId:{your_view_id}})函数。查看它在Google网站中的使用方式:。问题是如何为视图选择器组件设置预定义的“ID”属性。你的答案完全不同。谢谢!!。我最初试过马修的建议,但没有成功@维利
sessions.set(GID).execute();