使用Node.JS客户端库插入Google Analytics内容实验

时间:2013-12-05 19:56:12

标签: node.js google-analytics-api google-api-nodejs-client

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

0 个答案:

没有答案