Chilkat Online Tools

VB.NET / Zoom API / Get webinar absentees

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.UpdateInt("page_size",30)
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/past_webinars/:WebinarUUID/absentees",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": 30,
'   "total_records": 1,
'   "registrants": [
'     {
'       "id": "24000002122",
'       "email": "example@example.com",
'       "first_name": "Jill",
'       "last_name": "Chill",
'       "address": "1800 Amphibious Blvd.",
'       "city": "Mountain View",
'       "country": "US",
'       "zip": "94045",
'       "state": "CA",
'       "phone": "5550100",
'       "industry": "Food",
'       "org": "Cooking Org",
'       "job_title": "Chef",
'       "purchasing_time_frame": "1-3 months",
'       "role_in_purchase_process": "Influencer",
'       "no_of_employees": "10",
'       "comments": "Looking forward to the Webinar",
'       "custom_questions": [
'         {
'           "title": "What do you hope to learn from this Webinar?",
'           "value": "Look forward to learning how you come up with new recipes and what other services you offer."
'         }
'       ],
'       "status": "approved",
'       "create_time": "2019-02-26T23:01:16.899Z",
'       "join_url": "https://zoom.us/webinar/mywebinarissocooldighdghodghodg"
'     }
'   ]
' }

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



Dim id As String
Dim email As String
Dim first_name As String
Dim last_name 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
    id = jResp.StringOf("registrants[i].id")
    email = jResp.StringOf("registrants[i].email")
    first_name = jResp.StringOf("registrants[i].first_name")
    last_name = jResp.StringOf("registrants[i].last_name")
    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 "page_size=30"
	-d "next_page_token=quis%20officia%20in%20reprehenderit"
	-H "Authorization: Bearer <access_token>"
https://api.zoom.us/v2/past_webinars/:WebinarUUID/absentees

Postman Collection Item JSON

{
  "name": "Get webinar absentees",
  "request": {
    "auth": {
      "type": "oauth2"
    },
    "method": "GET",
    "header": [
    ],
    "url": {
      "raw": "{{baseUrl}}/past_webinars/:WebinarUUID/absentees?occurrence_id=quis officia in reprehenderit&page_size=30&next_page_token=quis officia in reprehenderit",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "past_webinars",
        ":WebinarUUID",
        "absentees"
      ],
      "query": [
        {
          "key": "occurrence_id",
          "value": "quis officia in reprehenderit",
          "description": "The meeting or webinar occurrence ID."
        },
        {
          "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": "WebinarUUID",
          "value": "quis officia in reprehenderit",
          "description": "(Required) The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it."
        }
      ]
    },
    "description": "List absentees of a webinar.<br><br>\n**Scopes:** `webinar:read:admin` `webinar:read`<br>\n **[Rate Limit Label](https://marketplace.zoom.us/docs/api-reference/rate-limits#rate-limits):** `Heavy`"
  },
  "response": [
    {
      "name": "**HTTP Status Code:** `200`<br>\nSuccess.<br>**Error Code:** `200`<br>\nWebinar plan subscription is missing. Enable webinar for this user once the subscription is added:{userId}.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/past_webinars/:WebinarUUID/absentees?occurrence_id=quis officia in reprehenderit&page_size=30&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "past_webinars",
            ":WebinarUUID",
            "absentees"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "WebinarUUID",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it."
            }
          ]
        }
      },
      "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\": 30,\n \"total_records\": 1,\n \"registrants\": [\n  {\n   \"id\": \"24000002122\",\n   \"email\": \"example@example.com\",\n   \"first_name\": \"Jill\",\n   \"last_name\": \"Chill\",\n   \"address\": \"1800 Amphibious Blvd.\",\n   \"city\": \"Mountain View\",\n   \"country\": \"US\",\n   \"zip\": \"94045\",\n   \"state\": \"CA\",\n   \"phone\": \"5550100\",\n   \"industry\": \"Food\",\n   \"org\": \"Cooking Org\",\n   \"job_title\": \"Chef\",\n   \"purchasing_time_frame\": \"1-3 months\",\n   \"role_in_purchase_process\": \"Influencer\",\n   \"no_of_employees\": \"10\",\n   \"comments\": \"Looking forward to the Webinar\",\n   \"custom_questions\": [\n    {\n     \"title\": \"What do you hope to learn from this Webinar?\",\n     \"value\": \"Look forward to learning how you come up with new recipes and what other services you offer.\"\n    }\n   ],\n   \"status\": \"approved\",\n   \"create_time\": \"2019-02-26T23:01:16.899Z\",\n   \"join_url\": \"https://zoom.us/webinar/mywebinarissocooldighdghodghodg\"\n  }\n ]\n}"
    },
    {
      "name": "**Error Code:** `300`<br>Invalid webinar UUID.",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/past_webinars/:WebinarUUID/absentees?occurrence_id=quis officia in reprehenderit&page_size=30&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "past_webinars",
            ":WebinarUUID",
            "absentees"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "WebinarUUID",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it."
            }
          ]
        }
      },
      "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:** `300`<br>\nThe request could not be completed because you have provided an invalid occurence ID: {occurenceId}<br>\n**Error Code:** `1010`<br>\nUser does not belong to this account:{accountId}.<br>\n**Error Code",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/past_webinars/:WebinarUUID/absentees?occurrence_id=quis officia in reprehenderit&page_size=30&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "past_webinars",
            ":WebinarUUID",
            "absentees"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "WebinarUUID",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    },
    {
      "name": "**HTTP Status Code:** `404`<br>\n**Error Code:** `1001`<br>\nUser {userId} does not exist or does not belong to this account.<br>\n**Error Code:** `3001`<br>Meeting ID is invalid or not end.\n\n",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "description": "Added as a part of security scheme: oauth2",
            "key": "Authorization",
            "value": "<token>"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/past_webinars/:WebinarUUID/absentees?occurrence_id=quis officia in reprehenderit&page_size=30&next_page_token=quis officia in reprehenderit",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "past_webinars",
            ":WebinarUUID",
            "absentees"
          ],
          "query": [
            {
              "key": "occurrence_id",
              "value": "quis officia in reprehenderit"
            },
            {
              "key": "page_size",
              "value": "30"
            },
            {
              "key": "next_page_token",
              "value": "quis officia in reprehenderit"
            }
          ],
          "variable": [
            {
              "key": "WebinarUUID",
              "value": "quis officia in reprehenderit",
              "description": "(Required) The Webinar UUID. Each Webinar instance will generate its own Webinar UUID (i.e., after a Webinar ends, a new UUID will be generated for the next instance of the Webinar). Please double encode your UUID when using it for API calls if the UUID begins with a '/' or contains '//' in it."
            }
          ]
        }
      },
      "status": "Not Found",
      "code": 404,
      "_postman_previewlanguage": "text",
      "header": [
        {
          "key": "Content-Type",
          "value": "text/plain"
        }
      ],
      "cookie": [
      ],
      "body": ""
    }
  ]
}