调用Stackdriver错误报告API时出现INVALID_ARGUMENT(400错误)

时间:2017-07-30 08:41:48

标签: stackdriver google-apis-explorer google-cloud-error-reporting

尝试调用Stackdriver Error Reporting APIvia the API explorer或通过Client-Side JavaScript library)时,收到以下错误:

请求:

{ "message" : "test" }

响应:

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT"
  }
}

启用了Stackdriver错误报告API,我拥有App Engine项目的所有者权限。

API根本不起作用吗?如果我做错了什么,有人可以尝试帮忙吗?

1 个答案:

答案 0 :(得分:1)

报告事件的文档说明ServiceContext is required

如果您只发送消息(不是堆栈跟踪/例外),那么您还需要包含context with a reportLocation。这在message字段的文档中有说明,但并不明显。

以下来自API资源管理器:

{
 "context": {
  "reportLocation": {
   "functionName": "My Function"
  }
 },
 "message": "error message",
 "serviceContext": {
  "service": "My Microservice",
 }
}

您可能也对How Error are Grouped上的文档感兴趣。

FWIW,我正在处理这个产品,我认为错误信息过于通用。问题是(?)服务堆栈擦除消息,除非它们被注释为公共消费。我会追逐它。