首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >堆栈驱动程序错误记录API -错误代码“:400”消息“:”缺少group_id。“-获取错误日志

堆栈驱动程序错误记录API -错误代码“:400”消息“:”缺少group_id。“-获取错误日志
EN

Stack Overflow用户
提问于 2020-10-25 21:46:57
回答 1查看 121关注 0票数 1

我在Apps脚本中使用Stackdriver错误日志记录REST API。

文档位于:

https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.events/list

查询参数字符串中必填组ID。我需要组ID,但我不知道从哪里获取组名或组ID。我已经查看了IAM设置:

https://console.cloud.google.com/iam-admin/settings?authuser=0

IAM设置有一个组部分,但我没有任何组。我不知道从哪里获取群ID。群ID在哪里?

我得到的错误是:

代码语言:javascript
复制
{
  "error": {
    "code": 400,
    "message": "Missing group_id.",
    "status": "INVALID_ARGUMENT"
  }
}

我使用的代码是:

代码语言:javascript
复制
function getStackdriverLogs(){
  var entries,groupId,httpResponse,logs,options,param,projectId,url;
    
  /*
    Get StackDriver Logs -
  */
  
  /*
    The Stackdriver Error Reporting API (Error Reporting API) must be enabled - 
  
    https://cloud.google.com/error-reporting/reference/rest/v1beta1/projects.events/list    
  */
  
  groupId = "Put group ID here";
  projectId = "Put the Cloud Project ID here";
  
  param = 'projects/' + projectId;
  url = "https://clouderrorreporting.googleapis.com/v1beta1/" + param + "/events";
  
  url = url + "?groupId=" + groupId;

  options = {};
  
  options.muteHttpExceptions = true;
  options.headers = {Authorization: 'Bearer ' + ScriptApp.getOAuthToken()};
  
  options.contentType = "application/json";
  options.method = 'get';
  
  httpResponse = UrlFetchApp.fetch(url,options);
  Logger.log('httpResponse.getResponseCode(): ' + httpResponse.getResponseCode());
  
  if (httpResponse.getResponseCode() !== 200) {
    return httpResponse.getContentText();
  }

  logs = httpResponse.getContentText();
  Logger.log('logs: ' + logs)
  
  logs = JSON.parse(logs);
  
  entries = logs.entries;
  Logger.log('pgTkn',pgTkn)
  
  
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-25 23:12:44

根据set of criteria对错误消息进行分组。每组都可以在Stack driver error reporting中看到。如果在仪表板中单击某个组,则会打开该组错误消息,且url如下所示:

代码语言:javascript
复制
https://console.cloud.google.com/errors/[GROUP_ID]?project=[PROJECT_ID]&time=[TIME_DATA]

组ID可以从url中推断出来。或者(最好是)使用projects.groupStats.list端点来获取给定项目中的所有组ID。

相关:Stackdriver Logging API returns response code 200, but response is empty

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64524414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档