使用 REST API 调用来获取分析数据

您可以使用 API Manager REST API 调用来获取特定目录和 API 提供者组织的分析数据。

关于此任务

REST API 调用将返回包含分析数据的 JSON 对象。JSON 对象包含的信息与在使用 API Manager 用户界面查看可视化的原始数据时看到的 API 事件记录相同。

过程

要获取目录和 API 提供者组织的分析数据,请发出以下调用:
GET /v1/orgs/{orgId}/environments/{envId}/events
其中:
  • {orgId} 是 API 提供者组织的 URL 路径段或标识。
  • {envId} 是目录的 URL 路径段或标识。
下表详述了该调用的查询参数:
表 1. 分析 REST API 调用的查询参数
参数 描述 缺省值
after 要获取分析数据的时间段的开始时间,采用 ISO8601 格式。 当前时间减去 24 小时
before 要获取分析数据的时间段的结束时间,采用 ISO8601 格式。 当前时间
limit 要在单个调用中返回的分析事件的数量。如果事件总数大于指定的限制,那么要获取剩余的事件,就需要发出更多调用并提供 next 参数。 100
next 首次调用 API 时返回的标识。在后续调用中提供此标识可获取下一个事件集。每个事件集中返回的事件数由 limit 参数值决定。 (不适用)
fields 每个事件中要包含的事件字段的列表。指定字段时,可以使用逗号作为分隔符。

如果只需要其中部分事件字段(而不是全部),请使用此参数。

缺省情况下返回所有字段
timezoneOffset 时区偏移值,采用 ISO8601 格式。 0

请求将使用 HTTP 基本认证来认证。有关更多信息,请参阅认证请求

样本调用和响应

以下示例显示从浏览器地址栏发出的、用于获取某个目录和 API 提供者组织的分析数据的调用的样本格式。在 URL 中,指定要查询的 API Manager 服务器的主机地址,并且任何查询参数都会附加前置 ? 符号且用 & 符号进行分隔。安全登录表单将提示您输入用户名和密码以便向 API Manager 服务器进行认证。(这些 API Manager 服务器详细信息也用于访问 API Manager UI。)
https://api-manager-server.company.com/v1/orgs/macs-shack/environments/sb/events
https://api-manager-server.company.com/v1/orgs/57cd809ce4b09c68a2183832/environments/57cd80a6e4b09c68a218387b/events
https://api-manager-server.company.com/v1/orgs/smallorg/environments/dev/events?limit=2
https://api-manager-server.company.com/v1/orgs/macs-shack/environments/sb/events?after=2016-08-01T00:00:00.000&before=2016-09-30T23:59:59.999
以下示例显示作为 curl 命令发出的、用于获取某个目录和 API 提供者组织的分析数据的调用的样本格式。在这些命令中,因特网协议字符串指定要查询的 API Manager 服务器的主机地址,并且任何查询参数都会附加前置 ? 符号且用 & 符号进行分隔。-u 选项仅指定用户名,而不是用户名和密码组合 (user_name:password),从而阻止以明文显示密码。
[指示这在 Linux 平台上适用的图标]
curl -k -X GET -u 'username@company.com' 'https://api-manager-server.company.com/v1/orgs/macs-shack/
environments/sb/events?after=2016-08-01T00:00:00.000&before=2016-09-30T23:59:59.999'
[指示这在 Windows 平台上适用的图标]
curl -k -X GET -u "username@company.com" "https://api-manager-server.company.com/v1/orgs/macs-shack/
environments/sb/events?after=2016-08-01T00:00:00.000&before=2016-09-30T23:59:59.999&limit=2"
[V5.0.7 或更高版本]
限制: billing 对象字段仅在 V5.0.7.2 和更高版本中受支持。
以下示例显示从浏览器发出的调用,然后显示对应的响应中的所有事件字段。将发出该调用以返回两个分析事件 (limit=2),并包含 next 参数以请求更多事件。
https://api-manager-server.company.com/v1/orgs/macs-shack/environments/sb/events?next&limit=2
{
  "totalCalls": 5,
  "next": "5792250fe4b0838bc6abfc0a",
  "nextHref": "https://api-manager-server.company.com/v1/orgs/macs-shack/environments/sb/events?next=5792250fe4b0838bc6abfc0a",
  "calls": [
    {
      "datetime": "2016-07-22T13:51:08.658Z",
      "apiName": "fins",
      "apiVersion": "1.0.0",
      "appName": "Surfboards",
      "catalogName": "sb",
      "planName": "default",
      "planVersion": "1.0.0",
      "productName": "surfing-products",
      "productVersion": "1.0.0",
      "devOrgName": "bluebottle-boards",
      "resourceName": "/stocklist",
      "timeToServeRequest": 243,
      "bytesSent": 115,
      "requestProtocol": "https",
      "requestMethod": "GET",
      "uriPath": "/macs-shack/sb/surf/stocklist",
      "queryString": "",
      "statusCode": "200 OK",
      "requestHeaders": "",
      "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36",
      "requestBody": "",
      "responseHeaders": "",
      "responseBody": "",
      "latency": "Initialization=0ms : Start=8ms : PlanRateLimits=4ms : Plan Limit=2ms : Finservice=221ms : PlanRateLimits=8ms",
      "rateLimit": {
        "per-minute": {
          "limit": "100",
          "count": "5",
          "period": "60",
          "reject": "false",
          "shared": "true"
        }
      },
      "logPolicy": "activity",
      "orgName": "macs-shack",
      "resourcePath": "get",
      "productTitle": "Surfing Products",
      "clientGeoIp": {
        "ip": "9.20.152.215",
        "country_code2": "US",
        "country_code3": "USA",
        "country_name": "United States",
        "continent_code": "NA",
        "region_name": "NC",
        "city_name": "Durham",
        "postal_code": "27709",
        "latitude": 35.994,
        "longitude": -78.8986,
        "dma_code": 560,
        "area_code": 919,
        "timezone": "America/New_York",
        "real_region_name": "North Carolina",
        "location": [
          -78.8986,
          35.994
        ]
      },
      "billing": {
        "trial_period_days": "0",
        "amount": "0",
        "currency": "USD",
        "model": "free",
        "provider": "none"  
      }
      "gatewayGeoIp": {
        "ip": "9.20.98.109",
        "country_code2": "US",
        "country_code3": "USA",
        "country_name": "United States",
        "continent_code": "NA",
        "region_name": "NC",
        "city_name": "Durham",
        "postal_code": "27709",
        "latitude": 35.994,
        "longitude": -78.8986,
        "dma_code": 560,
        "area_code": 919,
        "timezone": "America/New_York",
        "real_region_name": "North Carolina",
        "location": [
          -78.8986,
          35.994
        ]
      }
    },
    {
      "datetime": "2016-07-22T13:51:07.375Z",
      "apiName": "fins",
      "apiVersion": "1.0.0",
      "appName": "Surfboards",
      "catalogName": "sb",
      "planName": "default",
      "planVersion": "1.0.0",
      "productName": "surfing-products",
      "productVersion": "1.0.0",
      "devOrgName": "bluebottle-boards",
      "resourceName": "/stocklist",
      "timeToServeRequest": 248,
      "bytesSent": 115,
      "requestProtocol": "https",
      "requestMethod": "GET",
      "uriPath": "/macs-shack/sb/surf/stocklist",
      "queryString": "",
      "statusCode": "200 OK",
      "requestHeaders": "",
      "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36",
      "requestBody": "",
      "responseHeaders": "",
      "responseBody": "",
      "latency": "Initialization=0ms : Start=10ms : PlanRateLimits=4ms : Plan Limit=2ms : Finservice=225ms : PlanRateLimits=7ms",
      "rateLimit": {
        "per-minute": {
          "limit": "100",
          "count": "4",
          "period": "60",
          "reject": "false",
          "shared": "true"
        }
      },
      "logPolicy": "activity",
      "orgName": "macs-shack",
      "resourcePath": "get",
      "productTitle": "Surfing Products",
      "clientGeoIp": {
        "ip": "9.20.152.215",
        "country_code2": "US",
        "country_code3": "USA",
        "country_name": "United States",
        "continent_code": "NA",
        "region_name": "NC",
        "city_name": "Durham",
        "postal_code": "27709",
        "latitude": 35.994,
        "longitude": -78.8986,
        "dma_code": 560,
        "area_code": 919,
        "timezone": "America/New_York",
        "real_region_name": "North Carolina",
        "location": [
          -78.8986,
          35.994
        ]
      },
      "gatewayGeoIp": {
        "ip": "9.20.98.109",
        "country_code2": "US",
        "country_code3": "USA",
        "country_name": "United States",
        "continent_code": "NA",
        "region_name": "NC",
        "city_name": "Durham",
        "postal_code": "27709",
        "latitude": 35.994,
        "longitude": -78.8986,
        "dma_code": 560,
        "area_code": 919,
        "timezone": "America/New_York",
        "real_region_name": "North Carolina",
        "location": [
          -78.8986,
          35.994
        ]
      }
    }
  ]
}

时间戳记图标 上次更新时间:2017-10-24