遵循documentation之后,我成功调用了Google的分析数据。然后,我使用不同的视图ID对其进行循环。我只能显示一个结果。这是我的代码:

function queryData() {

     var ids = [["900846", "/abc"], ["7532846", "/blog/abc/"]];

     ids.forEach(function (entry) {
         gapi.client.request({
             path: '/v4/reports:batchGet',
             root: 'https://analyticsreporting.googleapis.com/',
             method: 'POST',
             body: {
                 reportRequests: [{
                     viewId: entry[0],
                     dateRanges: [{
                         startDate: '7daysAgo',
                         endDate: 'today'
                     }],
                     metrics: [{
                         expression: "ga:uniquePageviews",
                     },
                     ],
                     dimensionFilterClauses: [{

                         filters: [{

                             dimension_name: 'ga:pagePath',
                             operator: 'EXACT',
                             expressions: [entry[1]]
                         }]
                     }]

                 }]
             }
         }).then(displayResults, console.error.bind(console));
     })
 }


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


当上面的数组中有两个结果时,这仅显示一个结果。一些帮助将不胜感激。

最佳答案

据我了解,每次请求完成时,您的#query-output值都会重新分配。取而代之的是,将其输出到控制台以检查是否存在多个值。如果有,请尝试以下方法:

document.getElementById('query-output').value += JSON.stringify(result, null, 2);

关于javascript - 围绕Google Analytics(分析)API调用循环后的Javascript,如何显示多个结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51968014/

10-10 20:05