Qore GoogleRestClient Module Reference 1.0
Loading...
Searching...
No Matches
GoogleRestClient::GoogleRestClient Class Reference

this class provides the REST client API for communication with Google servers More...

#include <GoogleRestClient.qm.dox.h>

Inheritance diagram for GoogleRestClient::GoogleRestClient:
[legend]

Public Member Methods

 constructor (hash< auto > opts, *softbool do_not_connect)
 creates the object with the given options More...
 

Static Public Member Methods

static hash< auto > getOptions (hash< auto > opts)
 returns options for GoogleRestClient::constructor()
 

Public Attributes

const ApiProfiles
 API profiles.
 
const DefaultAuthArgs = {"access_type": "offline"}
 Default addition auth request arguments.
 
const DefaultAuthUrl = "https://accounts.google.com/o/oauth2/v2/auth"
 Default authorization request URL.
 
const DefaultData = "json"
 Default "data" option value.
 
const DefaultGooglePingHeaders
 Default Google ping headers.
 
const DefaultGooglePingMethod = "GET"
 Default Google ping method.
 
const DefaultGrantType = "authorization_code"
 Default OAuth2 grant type.
 
const DefaultOptions
 Default constructor options.
 
const DefaultTokenUrl = "https://oauth2.googleapis.com/token"
 Default token request URL.
 
const DefaultUrl = "https://www.googleapis.com"
 Default Google REST API URL.
 

Detailed Description

this class provides the REST client API for communication with Google servers

You must use an OAuth2 token by setting the token and oauth2_refresh_token options; the following options need to be set as well:

  • oauth2_client_id: the OAuth2 client ID
  • oauth2_client_secret: the OAuth2 client secret

Then an external program has to guide the user through using the authorization_grant flow to get a token to use; this module does not implement that flow.

Note
This class encodes "+" characters in URI paths as "%2B", as the Google API server will return a 400 Bad Request error to requests with this character unencoded

Member Function Documentation

◆ constructor()

GoogleRestClient::GoogleRestClient::constructor ( hash< auto >  opts,
*softbool  do_not_connect 
)

creates the object with the given options

Example:
GoogleRestClient rest(opts);
Parameters
optsvalid options are all the options for the RestClient class; note that the URL is set by default if not provided (see DefaultUrl); the following options are unique to this class:
  • api_profile: one of:
    • none (no options set)
    • calendar (set client options for the Google calendar API)
do_not_connectif False (the default), then a connection will be immediately established to the remote server
Exceptions
RESTCLIENT-ERRORinvalid option passed to constructor, unsupported data serialization, etc