GMB API 见解收到的 JSON 有效负载无效



我正在尝试使用Google Apps Script和Google My Business Api来获取有关我们位置的一些见解。

获得评论和东西没什么大不了的。

该代码在OAuth2 Playground中运行良好。

以下是请求:

var myBusinessService = getMyBusinessService();
var payload ={
  "locationNames":["accounts/116447162401331885225/locations/10722475831894877870"],
  "basicRequest": {
    "metricRequests": [{
      "metric": "ALL"
    }],
    "timeRange": {
      "startTime": "2017-01-01T00:00:01.045123456Z",
      "endTime": "2017-01-31T23:59:59.045123476Z"
    }
  }
};
var options = {
  "headers":{
    "Authorization": 'Bearer ' + myBusinessService.getAccessToken()
  },
  "method": "POST",
  "payload": payload,
  "muteHttpExceptions": true
};
var response = UrlFetchApp.fetch('https://mybusiness.googleapis.com/v4/accounts/116447162401331885225/locations:reportInsights', options);

回应:

{error={code=400, details=[Ljava.lang.Object;@3116fd89, message=Invalid JSON payload received. Unknown name "basicRequest": Cannot bind query parameter. 'basicRequest' is a message type. Parameters can only be bound to primitive types., status=INVALID_ARGUMENT}}

希望有人可以帮助我。

问候

蒂斯

payload作为JavaScript对象发送。根据错误消息("消息=收到的 JSON 有效负载无效"(,您需要将其作为 JSON 发送。使用 JSON.stringify() 使payload成为 JSON 字符串。

var options = {
  "headers":{
    "Authorization": 'Bearer ' + myBusinessService.getAccessToken()
  },
  "method": "POST",
  "payload": JSON.stringify(payload),
  "muteHttpExceptions": true
};

相关内容

  • 没有找到相关文章