4

我正在尝试使用 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)
4

0 回答 0