使用Javascript和API访问Google Analytics数据时出现问题

使用Javascript和API访问Google Analytics数据时出现问题,javascript,html,api,google-analytics,Javascript,Html,Api,Google Analytics,我试图从Google Analytics获取我们网站的访问者(用户)数量,最好使用Javascript 我已经在Google中设置了一个项目和凭证,以便与我雇主的Google Analytics合作,并且能够获得生成图表的javascript示例,使其正常工作 然而,我需要的是指标的文本数据,而不是生成的图表,这样我就可以将数据包含在我的雇主ASP.NET MVC#web应用程序中 图表示例与文本数据示例一样,使用了一个身份验证按钮,我可以在其中输入我的雇主google analytics的登录

我试图从Google Analytics获取我们网站的访问者(用户)数量,最好使用Javascript

我已经在Google中设置了一个项目和凭证,以便与我雇主的Google Analytics合作,并且能够获得生成图表的javascript示例,使其正常工作

然而,我需要的是指标的文本数据,而不是生成的图表,这样我就可以将数据包含在我的雇主ASP.NET MVC#web应用程序中

图表示例与文本数据示例一样,使用了一个身份验证按钮,我可以在其中输入我的雇主google analytics的登录名和密码,这对于图表示例来说是正确的,对于文本示例来说也是正确的,但当我运行它时,文本示例不会生成数据

我在这个URL上找到了一个从Google Analytics生成文本数据的示例,但它只在我运行时生成错误。

这是我在一个HTML文件中使用的源代码,如果有错误,请指出

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

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

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

// 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": "2017-02-01",
            "endDate": "2017-03-16"
          }
        ],
        "metrics": [
          {
            "expression": "ga:sessions"
          }
        ],
        "dimensions": [
            { "name": "ga:date" }
        ]
      }
    ]
  }
    // }).then(displayResults, console.error.bind(console));
}).then(displayResults, alert(console.error.toString()));
}

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>

Hello Analytics Reporting API V4
Hello Analytics Reporting API V4

//替换为您的视图ID。 var VIEW_ID='132296038'; //查询API并将结果打印到页面。 函数queryReports(){ gapi.client.request({ 路径:'/v4/reports:batchGet', 根:'https://analyticsreporting.googleapis.com/', 方法:“POST”, 正文:{ “报告请求”:[ { “视图ID”:视图ID, “日期范围”:[ { “起始日期”:“2017-02-01”, “截止日期”:“2017-03-16” } ], “指标”:[ { “表达式”:“ga:会话” } ], “尺寸”:[ {“名称”:“ga:日期”} ] } ] } //}),然后(displayResults,console.error.bind(console)); }).then(displayResults,alert(console.error.toString()); } 函数显示结果(响应){ var formattedJson=JSON.stringify(response.result,null,2); document.getElementById('query-output')。value=formattedJson; }
您的代码正常工作,因此我认为您使用的客户端id、视图id不正确,您没有启用Google Analytics Reporting API,或者API服务器不接受您的主机

您收到了什么错误消息?您的错误报告功能不会报告任何对我有用的内容,因此我建议更改:

alert(console.error.toString())
致:


请发布完整的错误消息以获得进一步帮助。

是否可以在不按“g-signin2”按钮的情况下使用登录到分析中?我的意思是,在窗口加载时自动启动google登录,然后他们发出请求。
function (error) { alert(error.result.error.message); }