Chilkat Online Tools

Foxpro / Zoom API / Get issues of Zoom Rooms

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loQueryParams
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcIssue
LOCAL lcTime
LOCAL lcFrom
LOCAL lcV_to
LOCAL lnPage_count
LOCAL lnPage_size
LOCAL lnTotal_records
LOCAL i
LOCAL lnCount_i

* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.

loHttp = CreateObject('Chilkat_9_5_0.Http')

loQueryParams = CreateObject('Chilkat_9_5_0.JsonObject')
loQueryParams.UpdateString("from","1989-05-07")
loQueryParams.UpdateString("to","1989-05-07")
loQueryParams.UpdateInt("page_size",30)
loQueryParams.UpdateString("next_page_token","quis officia in reprehenderit")

* Adds the "Authorization: Bearer <access_token>" header.
loHttp.AuthToken = "<access_token>"

loResp = loHttp.QuickRequestParams("GET","https://api.zoom.us/v2/metrics/issues/zoomrooms/:zoomroomId",loQueryParams)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loQueryParams
    CANCEL
ENDIF

loSbResponseBody = CreateObject('Chilkat_9_5_0.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

loJResp = CreateObject('Chilkat_9_5_0.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loResp
    RELEASE loHttp
    RELEASE loQueryParams
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

RELEASE loResp

* Sample JSON response:
* (Sample code for parsing the JSON response is shown below)

* {
*   "from": "2019-02-28",
*   "to": "2019-03-28",
*   "page_count": 1,
*   "page_size": 1,
*   "total_records": 1,
*   "issue_details": [
*     {
*       "issue": "Zoom room is offline",
*       "time": "2019-03-07T11:17:00.956Z"
*     }
*   ]
* }

* Sample code for parsing the JSON response...
* Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

lcFrom = loJResp.StringOf("from")
lcV_to = loJResp.StringOf("to")
lnPage_count = loJResp.IntOf("page_count")
lnPage_size = loJResp.IntOf("page_size")
lnTotal_records = loJResp.IntOf("total_records")
i = 0
lnCount_i = loJResp.SizeOfArray("issue_details")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcIssue = loJResp.StringOf("issue_details[i].issue")
    lcTime = loJResp.StringOf("issue_details[i].time")
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loQueryParams
RELEASE loSbResponseBody
RELEASE loJResp

Curl Command

curl -G -d "from=1989-05-07"
	-d "to=1989-05-07"
	-d "page_size=30"
	-d "next_page_token=quis%20officia%20in%20reprehenderit"
	-H "Authorization: Bearer <access_token>"
https://api.zoom.us/v2/metrics/issues/zoomrooms/:zoomroomId

Postman Collection Item JSON

{
  "name": "Get issues of Zoom Rooms",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/metrics/issues/zoomrooms/:zoomroomId?from=1989-05-07&to=1989-05-07&page_size=30&next_page_token=quis officia in reprehenderit",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "metrics",
        "issues",
        "zoomrooms",
        ":zoomroomId"
      ],
      "query": [
        {
          "key": "from",
          "value": "1989-05-07",
          "description": "(Required) Start date in 'yyyy-mm-dd' format. The date range defined by the \"from\" and \"to\" parameters should only be one month as the report includes only one month worth of data at once."
        },
        {
          "key": "to",
          "value": "1989-05-07",
          "description": "(Required) End date."
        },
        {
          "key": "page_size",
          "value": "30",
          "description": "The number of records returned within a single API call."
        },
        {
          "key": "next_page_token",
          "value": "quis officia in reprehenderit",
          "description": "The next page token is used to paginate through large result sets. A next page token will be returned whenever the set of available results exceeds the current page size. The expiration period for this token is 15 minutes."
        }
      ],
      "variable": [
        {
          "key": "zoomroomId",
          "value": "quis officia in reprehenderit",
          "description": "(Required) The Zoom room ID."
        }
      ]
    },
    "description": "Use this API to return information about the Zoom Rooms in an account with issues, such as disconnected hardware or bandwidth issues. You can specify a monthly date range for the Dashboard data using the `from` and `to` query parameters. The month should fall within the last six months. \n\n**Scopes:** `dashboard_home:read:admin` <br> **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy` \n\n**Prerequisites:** \n* A Business or a higher plan. \n* A Zoom Room must be enabled in the account."
  },
  "response": [
    {
      "name": "**HTTP Status Code:** `200`<br>\nZoom Room with issue details returned",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/metrics/issues/zoomrooms/:zoomroomId?from=1989-05-07&to=1989-05-07&page_size=30&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "metrics",
            "issues",
            "zoomrooms",
            ":zoomroomId"
          ],
          "query": [
            {
              "key": "from",
              "value": "1989-05-07"
            },
            {
              "key": "to",
              "value": "1989-05-07"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "zoomroomId",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The Zoom room ID."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"from\": \"2019-02-28\",\n \"to\": \"2019-03-28\",\n \"page_count\": 1,\n \"page_size\": 1,\n \"total_records\": 1,\n \"issue_details\": [\n  {\n   \"issue\": \"Zoom room is offline\",\n   \"time\": \"2019-03-07T11:17:00.956Z\"\n  }\n ]\n}"
    }
  ]
}