public function ZoomApiClient::request in Zoom API 8
Same name and namespace in other branches
- 2.0.x src/Client/ZoomApiClient.php \Drupal\zoomapi\Client\ZoomApiClient::request()
Utilizes Drupal's httpClient to connect to the Zoom API.
Info: https://marketplace.zoom.us/docs/api-reference/introduction Currently just supports JWT authentication.
Parameters
string $method: get, post, patch, delete, etc. See Guzzle documentation.
string $endpoint: The Zoom API endpoint (ex. users)
array $query: Any Query Parameters defined in the API spec.
array $body: Array that will get converted to JSON for some requests.
Return value
mixed RequestException or \GuzzleHttp\Psr7\Response body
Overrides ZoomApiClientInterface::request
File
- src/Client/ ZoomApiClient.php, line 125 
Class
- ZoomApiClient
- Uses http client to interact with the Zoom API.
Namespace
Drupal\zoomapi\ClientCode
public function request(string $method, string $endpoint, array $query = [], array $body = []) {
  try {
    $response = $this->httpClient
      ->{$method}($this->baseUri . $endpoint, $this
      ->buildOptions($query, $body));
    // TODO: Add additional response options.
    $payload = Json::decode($response
      ->getBody()
      ->getContents());
    return $payload;
  } catch (RequestException $exception) {
    // Log Any exceptions.
    $this->logger
      ->error('Failed to complete Zoom API Task "%error"', [
      '%error' => $exception
        ->getMessage(),
    ]);
    throw $exception;
  }
}