【发布时间】:2017-10-24 15:14:51
【问题描述】:
我按照以下网站中的步骤操作:https://developers.google.com/analytics/devguides/reporting/embed/v1/devguide#client-id
当我执行下面的代码时,我在控制台中收到错误消息 当我创建我的客户端 ID 时,我在我的 Javascript 域中维护了“localhost”。 你能建议吗?谢谢
<!DOCTYPE html>
<html>
<head>
<title>Embed API Demo</title>
</head>
<body>
<!-- Step 1: Create the containing elements. -->
<section id="auth-button"></section>
<section id="view-selector"></section>
<section id="timeline"></section>
<!-- Step 2: Load the library. -->
<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() {
// Step 3: Authorize the user.
var CLIENT_ID = 'XXXXXXXX';
gapi.analytics.auth.authorize({
container: 'auth-button',
clientid: CLIENT_ID,
});
// Step 4: Create the view selector.
var viewSelector = new gapi.analytics.ViewSelector({
container: 'view-selector'
});
// Step 5: Create the timeline chart.
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'
}
});
// Step 6: Hook up the components to work together.
gapi.analytics.auth.on('success', function(response) {
viewSelector.execute();
});
viewSelector.on('change', function(ids) {
var newIds = {
query: {
ids: ids
}
}
timeline.set(newIds).execute();
});
});
</script>
</body>
</html>
Object {error: Object}
error: Object
errors: Array[1]
0: Object
message: "immediate_failed"
reason: "invalidParameter"
__proto__: Object
length: 1
__proto__: Array[0]
message: "immediate_failed"
__proto__: Object
__proto__: Object
cb=gapi.loaded_0:433
_.nH cb=gapi.loaded_0:433
_.du.Vh cb=gapi.loaded_0:459
YP.Ka cb=gapi.loaded_0:466
_.k.iu cb=gapi.loaded_0:291
ix cb=gapi.loaded_0:431
(anonymous function) cb=gapi.loaded_0:433
h.BE cb=gapi.loaded_0:137
Wq cb=gapi.loaded_0:140
_.C.ye cb=gapi.loaded_0:140
Ap
【问题讨论】:
-
你上传到服务器了吗?如果可以,请提供链接吗?
-
您是否也指定了端口?对于每个客户端 ID,您只需指定一个主机和端口。 IE。你不能只说
http:/localhost,你必须说http://localhost:8080(或你选择的任何端口号)。 -
是的,我添加了端口 8080。将项目部署在我的本地 tomcat 服务器上,它给出了同样的错误。我已确保 Analytics API 已“开启”且客户端 ID 正确。感谢您的回复。如果您有任何建议,请告知。谢谢
-
@PhilipWalton 为什么有人不能只使用
http://localhost?我找不到关于这一点的任何文档,并且本地主机上的身份验证似乎确实不起作用...... -
@MDT 据我所知,起源需要完全匹配。 origin 包括协议、主机名和端口。请注意,如果您使用协议的默认端口并且在请求
location.origin时未显示任何端口,则无需指定端口。但在 localhost 上通常不是这种情况。
标签: google-analytics