我正在尝试使用 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 写入是有限的测试版,但我有测试版访问权限,所以这不是问题。我尝试将新的实验信息直接插入到 insert() 对象中,调用实验信息对象“body:body”而不是“resource:body”,JSON.stringifying body,以及其他一些配置。没运气。
任何帮助都会很棒!
我知道这个答案,但它使用 Javascript 客户端库并发出 RESTful 请求,而我想使用节点库。
编辑:感谢 Google 的 Burcu Dogan。这是正确的语法:
.analytics.management.experiments.insert({
accountId : accountId,
webPropertyId : webPropertyId,
profileId : profileId
}, body)