Chilkat Online Tools

VB.NET / Zoom API / List meeting registrants

Back to Collection Items

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

Dim http As New Chilkat.Http
Dim success As Boolean

Dim queryParams As New Chilkat.JsonObject
queryParams.UpdateString("occurrence_id","quis officia in reprehenderit")
queryParams.UpdateString("status","approved")
queryParams.UpdateInt("page_size",30)
queryParams.UpdateInt("page_number",1)
queryParams.UpdateString("next_page_token","quis officia in reprehenderit")

' Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>"


Dim resp As Chilkat.HttpResponse = http.QuickRequestParams("GET","https://api.zoom.us/v2/meetings/:meetingId/registrants",queryParams)
If (http.LastMethodSuccess = False) Then
    Debug.WriteLine(http.LastErrorText)
    Exit Sub
End If


Dim sbResponseBody As New Chilkat.StringBuilder
resp.GetBodySb(sbResponseBody)

Dim jResp As New Chilkat.JsonObject
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Debug.WriteLine("Response Body:")
Debug.WriteLine(jResp.Emit())

Dim respStatusCode As Integer = resp.StatusCode
Debug.WriteLine("Response Status Code = " & respStatusCode)
If (respStatusCode >= 400) Then
    Debug.WriteLine("Response Header:")
    Debug.WriteLine(resp.Header)
    Debug.WriteLine("Failed.")

    Exit Sub
End If



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

' {
'   "page_count": 1,
'   "page_number": 1,
'   "page_size": 1,
'   "total_records": 1,
'   "registrants": [
'     {
'       "email": "example@example.com",
'       "first_name": "Tim",
'       "last_name": "S.",
'       "id": "zjkfsdfjdfhg",
'       "address": "8 Rue du Nom Fictif",
'       "city": "Paris",
'       "country": "France",
'       "zip": "314",
'       "state": "Ile-de-France",
'       "phone": "5550100",
'       "industry": "Tech",
'       "org": "Growth",
'       "job_title": "Developer",
'       "purchasing_time_frame": "Within a month",
'       "role_in_purchase_process": "Not involved",
'       "no_of_employees": "1-20",
'       "comments": "Love using Zoom APIs",
'       "custom_questions": [
'         {
'           "title": "Did you enjoy the registration process?",
'           "value": "Yes, alot."
'         },
'         {
'           "title": "Would you like to register for our next meeting?",
'           "value": "Absolutely."
'         }
'       ],
'       "status": "approved",
'       "create_time": "2012-04-14T16:55:30.231Z",
'       "join_url": "https://success.zoom.us/j/0000000000000"
'     }
'   ]
' }

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



Dim email As String
Dim first_name As String
Dim last_name As String
Dim id As String
Dim address As String
Dim city As String
Dim country As String
Dim zip As String
Dim state As String
Dim phone As String
Dim industry As String
Dim org As String
Dim job_title As String
Dim purchasing_time_frame As String
Dim role_in_purchase_process As String
Dim no_of_employees As String
Dim comments As String
Dim status As String
Dim create_time As String
Dim join_url As String
Dim j As Integer
Dim count_j As Integer
Dim title As String
Dim value As String

Dim page_count As Integer = jResp.IntOf("page_count")
Dim page_number As Integer = jResp.IntOf("page_number")
Dim page_size As Integer = jResp.IntOf("page_size")
Dim total_records As Integer = jResp.IntOf("total_records")
Dim i As Integer = 0
Dim count_i As Integer = jResp.SizeOfArray("registrants")
While i < count_i
    jResp.I = i
    email = jResp.StringOf("registrants[i].email")
    first_name = jResp.StringOf("registrants[i].first_name")
    last_name = jResp.StringOf("registrants[i].last_name")
    id = jResp.StringOf("registrants[i].id")
    address = jResp.StringOf("registrants[i].address")
    city = jResp.StringOf("registrants[i].city")
    country = jResp.StringOf("registrants[i].country")
    zip = jResp.StringOf("registrants[i].zip")
    state = jResp.StringOf("registrants[i].state")
    phone = jResp.StringOf("registrants[i].phone")
    industry = jResp.StringOf("registrants[i].industry")
    org = jResp.StringOf("registrants[i].org")
    job_title = jResp.StringOf("registrants[i].job_title")
    purchasing_time_frame = jResp.StringOf("registrants[i].purchasing_time_frame")
    role_in_purchase_process = jResp.StringOf("registrants[i].role_in_purchase_process")
    no_of_employees = jResp.StringOf("registrants[i].no_of_employees")
    comments = jResp.StringOf("registrants[i].comments")
    status = jResp.StringOf("registrants[i].status")
    create_time = jResp.StringOf("registrants[i].create_time")
    join_url = jResp.StringOf("registrants[i].join_url")
    j = 0
    count_j = jResp.SizeOfArray("registrants[i].custom_questions")
    While j < count_j
        jResp.J = j
        title = jResp.StringOf("registrants[i].custom_questions[j].title")
        value = jResp.StringOf("registrants[i].custom_questions[j].value")
        j = j + 1
    End While
    i = i + 1
End While

Curl Command

curl -G -d "occurrence_id=quis%20officia%20in%20reprehenderit"
	-d "status=approved"
	-d "page_size=30"
	-d "page_number=1"
	-d "next_page_token=quis%20officia%20in%20reprehenderit"
	-H "Authorization: Bearer <access_token>"
https://api.zoom.us/v2/meetings/:meetingId/registrants

Postman Collection Item JSON

{
  "name": "List meeting registrants",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/meetings/:meetingId/registrants?occurrence_id=quis officia in reprehenderit&status=approved&page_size=30&page_number=1&next_page_token=quis officia in reprehenderit",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "meetings",
        ":meetingId",
        "registrants"
      ],
      "query": [
        {
          "key": "occurrence_id",
          "value": "quis officia in reprehenderit",
          "description": "The meeting or webinar occurrence ID."
        },
        {
          "key": "status",
          "value": "approved",
          "description": "Query by the registrant's status: \n* `pending` — The registration is pending. \n* `approved` — The registrant is approved. \n* `denied` — The registration is denied."
        },
        {
          "key": "page_size",
          "value": "30",
          "description": "The number of records returned within a single API call."
        },
        {
          "key": "page_number",
          "value": "1",
          "description": "**Deprecated.** We will no longer support this field in a future release. Instead, use the `next_page_token` for pagination."
        },
        {
          "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": "meetingId",
          "value": "68423085",
          "description": "(Required) The meeting's ID. \n\n When storing this value in your database, you must store it as a **long** format integer and **not** an integer. Meeting IDs can exceed 10 digits."
        }
      ]
    },
    "description": "A host or a user with admin permission can require [registration for a Zoom meeting](https://support.zoom.us/hc/en-us/articles/211579443-Registration-for-Meetings). Use this API to list users that have registered for a meeting.<br><br>\n**Scopes**: `meeting:read:admin` `meeting:read`<br>\n\n **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Medium`"
  },
  "response": [
    {
      "name": "**HTTP Status Code:** `200`<br>\nSuccessfully listedd meeting registrants.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/meetings/:meetingId/registrants?occurrence_id=quis officia in reprehenderit&status=approved&page_size=30&page_number=1&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "meetings",
            ":meetingId",
            "registrants"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "status",
              "value": "approved"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "page_number",
              "value": "1"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "meetingId",
              "value": "68423085",
              "description": "(Required) The meeting's ID. \n\n When storing this value in your database, you must store it as a **long** format integer and **not** an integer. Meeting IDs can exceed 10 digits."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Content-Type",
          "value": "application/json"
        }
      ],
      "cookie": [
      ],
      "body": "{\n \"page_count\": 1,\n \"page_number\": 1,\n \"page_size\": 1,\n \"total_records\": 1,\n \"registrants\": [\n  {\n   \"email\": \"example@example.com\",\n   \"first_name\": \"Tim\",\n   \"last_name\": \"S.\",\n   \"id\": \"zjkfsdfjdfhg\",\n   \"address\": \"8 Rue du Nom Fictif\",\n   \"city\": \"Paris\",\n   \"country\": \"France\",\n   \"zip\": \"314\",\n   \"state\": \"Ile-de-France\",\n   \"phone\": \"5550100\",\n   \"industry\": \"Tech\",\n   \"org\": \"Growth\",\n   \"job_title\": \"Developer\",\n   \"purchasing_time_frame\": \"Within a month\",\n   \"role_in_purchase_process\": \"Not involved\",\n   \"no_of_employees\": \"1-20\",\n   \"comments\": \"Love using Zoom APIs\",\n   \"custom_questions\": [\n    {\n     \"title\": \"Did you enjoy the registration process?\",\n     \"value\": \"Yes, alot.\"\n    },\n    {\n     \"title\": \"Would you like to register for our next meeting?\",\n     \"value\": \"Absolutely.\"\n    }\n   ],\n   \"status\": \"approved\",\n   \"create_time\": \"2012-04-14T16:55:30.231Z\",\n   \"join_url\": \"https://success.zoom.us/j/0000000000000\"\n  }\n ]\n}"
    },
    {
      "name": "**Error Code:** `300`<br>\nMeeting {meetingId} is not found or has expired.<br>\nThis meeting has not set registration as required: {meetingId}.\n",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/meetings/:meetingId/registrants?occurrence_id=quis officia in reprehenderit&status=approved&page_size=30&page_number=1&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "meetings",
            ":meetingId",
            "registrants"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "status",
              "value": "approved"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "page_number",
              "value": "1"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "meetingId",
              "value": "68423085",
              "description": "(Required) The meeting's ID. \n\n When storing this value in your database, you must store it as a **long** format integer and **not** an integer. Meeting IDs can exceed 10 digits."
            }
          ]
        }
      },
      "status": "Multiple Choices",
      "code": 300,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "**HTTP Status Code:** `400`<br>\n**Error Code:** `1010`<br>\nUser does not belong to this account: {accountId}.<br>\n**Error Code:** `3003`<br>\nYou are not the meeting host.<br>\n**Error Code:** `3000`<br>\nCannot access meeting info.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/meetings/:meetingId/registrants?occurrence_id=quis officia in reprehenderit&status=approved&page_size=30&page_number=1&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "meetings",
            ":meetingId",
            "registrants"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "status",
              "value": "approved"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "page_number",
              "value": "1"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "meetingId",
              "value": "68423085",
              "description": "(Required) The meeting's ID. \n\n When storing this value in your database, you must store it as a **long** format integer and **not** an integer. Meeting IDs can exceed 10 digits."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "**HTTP Status Code:** `404`<br>\nMeeting not found.<br>\n**Error Code:** `1001`<br>\nMeeting host does not exist: {userId}.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/meetings/:meetingId/registrants?occurrence_id=quis officia in reprehenderit&status=approved&page_size=30&page_number=1&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "meetings",
            ":meetingId",
            "registrants"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "status",
              "value": "approved"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "page_number",
              "value": "1"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "meetingId",
              "value": "68423085",
              "description": "(Required) The meeting's ID. \n\n When storing this value in your database, you must store it as a **long** format integer and **not** an integer. Meeting IDs can exceed 10 digits."
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}