我正在尝试使用Node.js客户端库配置内容实验,但无法计算出语法。我在哪里放置身体(实验资源)如此处所述?
https://developers.google.com/analytics/devguides/config/mgmt/v3/mgmtExperimentsGuide#insert
此代码用于列出现有实验,按预期工作:
var listExperiments = function(){
googleapis
.discover('analytics', 'v3')
.execute(function(err, client) {
var request = client
.analytics.management.experiments.list({
accountId : accountId,
webPropertyId : webPropertyId,
profileId : profileId
})
.withApiKey(browserAPIKey)
.withAuthClient(oauth2Client)
request.execute(function(err,result){
if (err){
console.log(err);
res.send(402);
} else {
console.log(result);
res.send(200);
}
});
});
}
但是,当我尝试插入新实验时,我收到“需要字段资源”错误。
var body = {
"name": "myExperimentName",
"status": "READY_TO_RUN",
"objectiveMetric":"ga:bounces",
"variations": [
{ "name": "text1", "url":"http://www.asite.net", "status":"ACTIVE" },
{ "name": "text2", "url":"http://www.asite.net", "status":"ACTIVE" }
]
};
var insertExperiment = function(){
googleapis
.discover('analytics', 'v3')
.execute(function(err, client) {
var request = client
.analytics.management.experiments.insert({
accountId : accountId,
webPropertyId : webPropertyId,
profileId : profileId,
resource : body
})
.withApiKey(browserAPIKey)
.withAuthClient(oauth2Client)
request.execute(function(err,result){
if (err){
console.log(err);
res.send(402);
} else {
console.log(result);
res.send(200);
}
});
});
}
我尝试了一些配置。管理API写入是有限测试版,但我有beta访问权限,所以这不是问题。我已经尝试将新实验信息直接插入到insert()对象中,调用实验信息对象“body:body”而不是“resource:body”,JSON.stringifying body和一些其他配置。没有运气。
任何帮助都会很棒!
我知道this answer,但它使用Javascript客户端库并发出RESTful请求,而我想使用节点库。
编辑:感谢Google的Burcu Dogan。这是正确的语法:.analytics.management.experiments.insert({
accountId : accountId,
webPropertyId : webPropertyId,
profileId : profileId
}, body)