GoogleJsonResponseException:字段名称是必需的

GoogleJsonResponseException: Field name is required

我是第一次使用 Google 分析 API,我正在尝试创建一个新的 属性。我在 Google App Script:

中写了一个 JS 函数

function insertProperty() {
  var resource = 
      {
        //  "accountId": "177832616",
        "resource":{
          "name": "Test Property 7",
          //  "dataRetentionResetOnNewActivity": false,
          "websiteUrl": "https://www.test.com"
        }
      }
  var accountID = '177832616';
  var request = Analytics.Management.Webproperties.insert(resource, accountID);
    
 // request.execute(function (response) { console.log(property.id) });
}

这是 API 抛出的错误:

GoogleJsonResponseException: API call to analytics.management.webproperties.insert failed with error: Field name is required. (line 56, file "Code")

insert() 方法似乎有两个参数:insert(Webproperty resource, string accountId);

因为它无法识别我添加到 resourcename key/value,我猜我还没有将变量声明为 Webproperty 类型并且我'我不知道该怎么做。我假设 Webproperty{ } 变量类型,但此时我不确定接下来要尝试什么。在网上进行研究时,我无法找到有关 API 的 Webproperty 的任何信息,因此任何 context/info 都是有帮助的。

根据您的问题,我了解到 Google Analytics API 与 Google Apps 脚本的高级 Google 服务一起使用。在这种情况下,Analytics.Management.Webproperties.insert(resource, accountId)resource可以直接使用“Web Properties:insert”方法的请求体。我认为你错误的原因是由于这个。所以请修改如下,再测试一下

发件人:

var resource = 
    {
      //  "accountId": "177832616",
      "resource":{
        "name": "Test Property 7",
        //  "dataRetentionResetOnNewActivity": false,
        "websiteUrl": "https://www.test.com"
      }
    }

收件人:

var resource = {
  "name": "Test Property 7",
  "websiteUrl": "https://www.test.com"
}

注:

  • accountId不正确时,出现错误。请注意这一点。
  • 来自 ,在这种情况下,var request = Analytics.Management.Webproperties.insert(resource, accountID);request 直接 returns 值。所以你可以看到 console.log(request)console.log(request.toString()).
  • 这样的值

参考: