4

Node.js クライアント ライブラリを使用してコンテンツ エクスペリメントを構成しようとしていますが、構文がわかりません。ここで説明されているように、本文 (Experiment リソース) はどこに配置すればよいですか?

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);
      }
    });
  });
}

いくつかの構成を試しました。Management API の書き込みは限定ベータ版ですが、私はベータ版にアクセスできるので問題ありません。新しい実験情報を insert() オブジェクトに直接挿入して、"resource : body" の代わりに実験情報オブジェクト "body : body" を呼び出し、本文を JSON.stringifying し、その他のいくつかの構成を試みました。運がない。

どんな助けでも素晴らしいでしょう!

私はこの回答を認識していますが、Javascript クライアント ライブラリを使用して RESTful リクエストを作成しますが、ノード ライブラリを使用したいと考えています。

編集: Google の Burcu Dogan に感謝します。正しい構文は次のとおりです。

.analytics.management.experiments.insert({
accountId : accountId,
webPropertyId : webPropertyId,
profileId : profileId
}, body)
4

0 に答える 0