class Client (View source)

Constants

LIBVER

USER_AGENT_SUFFIX

OAUTH2_REVOKE_URI

OAUTH2_TOKEN_URI

OAUTH2_AUTH_URL

API_BASE_PATH

Properties

protected array $requestedScopes

Methods

__construct(array $config = [])

Construct the Google Client.

string
getLibraryVersion()

Get a string containing the version of the library.

array
authenticate(string $code) deprecated

For backwards compatibility alias for fetchAccessTokenWithAuthCode

array
fetchAccessTokenWithAuthCode(string $code, string $codeVerifier = null)

Attempt to exchange a code for an valid authentication token.

array
refreshTokenWithAssertion() deprecated

For backwards compatibility alias for fetchAccessTokenWithAssertion

array
fetchAccessTokenWithAssertion(ClientInterface|null $authHttp = null)

Fetches a fresh access token with a given assertion token.

array
refreshToken(string $refreshToken)

For backwards compatibility alias for fetchAccessTokenWithRefreshToken

array
fetchAccessTokenWithRefreshToken(string $refreshToken = null)

Fetches a fresh OAuth 2.0 access token with the given refresh token.

string
createAuthUrl(string|array $scope = null, array $queryParams = [])

Create a URL to obtain user authorization.

ClientInterface
authorize(ClientInterface|null $http = null)

Adds auth listeners to the HTTP client based on the credentials set in the Google API Client object

useApplicationDefaultCredentials(bool $useAppCreds = true)

Set the configuration to use application default credentials for authentication

isUsingApplicationDefaultCredentials()

To prevent useApplicationDefaultCredentials from inappropriately being called in a conditional

setAccessToken(string|array $token)

Set the access token used for requests.

getAccessToken()

No description

string|null
getRefreshToken()

No description

bool
isAccessTokenExpired()

Returns if the access_token is expired.

getAuth() deprecated

No description

setAuth($auth) deprecated

No description

setClientId(string $clientId)

Set the OAuth 2.0 Client ID.

getClientId()

No description

setClientSecret(string $clientSecret)

Set the OAuth 2.0 Client Secret.

getClientSecret()

No description

setRedirectUri(string $redirectUri)

Set the OAuth 2.0 Redirect URI.

getRedirectUri()

No description

setState(string $state)

Set OAuth 2.0 "state" parameter to achieve per-request customization.

setAccessType(string $accessType)

No description

setApprovalPrompt(string $approvalPrompt)

No description

setLoginHint(string $loginHint)

Set the login hint, email address or sub id.

setApplicationName(string $applicationName)

Set the application name, this is included in the User-Agent HTTP header.

setRequestVisibleActions(array $requestVisibleActions)

If 'plus.login' is included in the list of requested scopes, you can use this method to define types of app activities that your app will write.

setDeveloperKey(string $developerKey)

Set the developer key to use, these are obtained through the API Console.

setHostedDomain(string $hd)

Set the hd (hosted domain) parameter streamlines the login process for Google Apps hosted accounts. By including the domain of the user, you restrict sign-in to accounts at that domain.

setPrompt(string $prompt)

Set the prompt hint. Valid values are none, consent and select_account.

setOpenidRealm(string $realm)

openid.realm is a parameter from the OpenID 2.0 protocol, not from OAuth 2.0. It is used in OpenID 2.0 requests to signify the URL-space for which an authentication request is valid.

setIncludeGrantedScopes(bool $include)

If this is provided with the value true, and the authorization request is granted, the authorization will include any previous authorizations granted to this user/application combination for other scopes.

setTokenCallback(callable $tokenCallback)

sets function to be called when an access token is fetched

bool
revokeToken(string|array|null $token = null)

Revoke an OAuth2 access token or refresh token. This method will revoke the current access token, if a token isn't provided.

array|false
verifyIdToken(string|null $idToken = null)

Verify an id_token. This method will verify the current id_token, if one isn't provided.

setScopes($scope_or_scopes)

Set the scopes to be requested. Must be called before createAuthUrl().

addScope(string|string[] $scope_or_scopes)

This functions adds a scope to be requested as part of the OAuth2.0 flow.

array
getScopes()

Returns the list of scopes requested by the client

string|null
prepareScopes()

No description

mixed|T|ResponseInterface
execute(RequestInterface $request, T>|false|null $expectedClass = null)

Helper method to execute deferred HTTP requests.

setUseBatch(bool $useBatch)

Declare whether batch calls should be used. This may increase throughput by making multiple requests in one connection.

isAppEngine()

Are we running in Google AppEngine? return bool

setConfig($name, $value)

No description

getConfig($name, $default = null)

No description

setAuthConfigFile(string $file) deprecated

For backwards compatibility alias for setAuthConfig

setAuthConfig(string|array $config)

Set the auth config from new or deprecated JSON config.

setSubject(string $subject)

Use when the service account has been delegated domain wide access.

setDefer(bool $defer)

Declare whether making API calls should make the call immediately, or return a request which can be called with ->execute();

bool
shouldDefer()

Whether or not to return raw requests

OAuth2
getOAuth2Service()

No description

createOAuth2Service()

create a default google auth object

setCache(CacheItemPoolInterface $cache)

Set the Cache object

CacheItemPoolInterface
getCache()

No description

setCacheConfig(array $cacheConfig)

No description

setLogger(LoggerInterface $logger)

Set the Logger object

LoggerInterface
getLogger()

No description

createDefaultLogger()

No description

createDefaultCache()

No description

setHttpClient(ClientInterface $http)

Set the Http Client object

ClientInterface
getHttpClient()

No description

setApiFormatV2(bool $value)

Set the API format version.

createDefaultHttpClient()

No description

getAuthHandler()

No description

getUniverseDomain()

No description

Details

__construct(array $config = [])

Construct the Google Client.

Parameters

array $config

{ An array of required and optional arguments.

@type string $application_name
      The name of your application
@type string $base_path
      The base URL for the service. This is only accounted for when calling
      {[\Google\Client::authorize()}](../Google/Client.html) directly.
@type string $client_id
      Your Google Cloud client ID found in https://developers.google.com/console
@type string $client_secret
      Your Google Cloud client secret found in https://developers.google.com/console
@type string|array|CredentialsLoader $credentials
      Can be a path to JSON credentials or an array representing those
      credentials ([Google\Client::setAuthConfig),](../Google/Client.html) or an instance of
      {\Google\Auth\CredentialsLoader}.
@type string|array $scopes
      {\Google\Google\Client::setScopes}
@type string $quota_project
      Sets X-Goog-User-Project, which specifies a user project to bill
      for access charges associated with the request.
@type string $redirect_uri
@type string $state
@type string $developer_key
      Simple API access key, also from the API console. Ensure you get
      a Server key, and not a Browser key.
      **NOTE:** The universe domain is assumed to be "googleapis.com" unless
      explicitly set. When setting an API ley directly via this option, there
      is no way to verify the universe domain. Be sure to set the
      "universe_domain" option if "googleapis.com" is not intended.
@type bool $use_application_default_credentials
      For use with Google Cloud Platform
      fetch the ApplicationDefaultCredentials, if applicable
      {https://developers.google.com/identity/protocols/application-default-credentials}
@type string $signing_key
@type string $signing_algorithm
@type string $subject
@type string $hd
@type string $prompt
@type string $openid
@type bool $include_granted_scopes
@type string $login_hint
@type string $request_visible_actions
@type string $access_type
@type string $approval_prompt
@type array $retry
      Task Runner retry configuration
      {\Google\Task\Runner}
@type array $retry_map
@type CacheItemPoolInterface $cache
      Cache class implementing {\Psr\Cache\CacheItemPoolInterface}. Defaults
      to {\Google\Auth\Cache\MemoryCacheItemPool}.
@type array $cache_config
      Cache config for downstream auth caching.
@type callable $token_callback
      Function to be called when an access token is fetched. Follows
      the signature `function (string $cacheKey, string $accessToken)`.
@type \Firebase\JWT $jwt
      Service class used in {[\Google\Client::verifyIdToken()}.](../Google/Client.html) Explicitly
      pass this in to avoid setting {\Firebase\JWT::$leeway}
@type bool $api_format_v2
      Setting api_format_v2 will return more detailed error messages
      from certain APIs.
@type string $universe_domain
      Setting the universe domain will change the default rootUrl of the service.
      If not set explicitly, the universe domain will be the value provided in the

. "GOOGLE_CLOUD_UNIVERSE_DOMAIN" environment variable, or "googleapis.com". }

string getLibraryVersion()

Get a string containing the version of the library.

Return Value

string

array authenticate(string $code) deprecated

deprecated

For backwards compatibility alias for fetchAccessTokenWithAuthCode

Parameters

string $code

string code from accounts.google.com

Return Value

array

access token

array fetchAccessTokenWithAuthCode(string $code, string $codeVerifier = null)

Attempt to exchange a code for an valid authentication token.

Helper wrapped around the OAuth 2.0 implementation.

Parameters

string $code

code from accounts.google.com

string $codeVerifier

the code verifier used for PKCE (if applicable)

Return Value

array

access token

array refreshTokenWithAssertion() deprecated

deprecated

For backwards compatibility alias for fetchAccessTokenWithAssertion

Return Value

array

access token

array fetchAccessTokenWithAssertion(ClientInterface|null $authHttp = null)

Fetches a fresh access token with a given assertion token.

Parameters

ClientInterface|null $authHttp optional.

Return Value

array

access token

array refreshToken(string $refreshToken)

For backwards compatibility alias for fetchAccessTokenWithRefreshToken

Parameters

string $refreshToken

Return Value

array

access token

array fetchAccessTokenWithRefreshToken(string $refreshToken = null)

Fetches a fresh OAuth 2.0 access token with the given refresh token.

Parameters

string $refreshToken

Return Value

array

access token

string createAuthUrl(string|array $scope = null, array $queryParams = [])

Create a URL to obtain user authorization.

The authorization endpoint allows the user to first authenticate, and then grant/deny the access request.

Parameters

string|array $scope

The scope is expressed as an array or list of space-delimited strings.

array $queryParams

Querystring params to add to the authorization URL.

Return Value

string

ClientInterface authorize(ClientInterface|null $http = null)

Adds auth listeners to the HTTP client based on the credentials set in the Google API Client object

Parameters

ClientInterface|null $http

the http client object.

Return Value

ClientInterface

the http client object

useApplicationDefaultCredentials(bool $useAppCreds = true)

Set the configuration to use application default credentials for authentication

isUsingApplicationDefaultCredentials()

To prevent useApplicationDefaultCredentials from inappropriately being called in a conditional

setAccessToken(string|array $token)

Set the access token used for requests.

Note that at the time requests are sent, tokens are cached. A token will be cached for each combination of service and authentication scopes. If a cache pool is not provided, creating a new instance of the client will allow modification of access tokens. If a persistent cache pool is provided, in order to change the access token, you must clear the cached token by calling $client->getCache()->clear(). (Use caution in this case, as calling clear() will remove all cache items, including any items not related to Google API PHP Client.)

NOTE: The universe domain is assumed to be "googleapis.com" unless explicitly set. When setting an access token directly via this method, there is no way to verify the universe domain. Be sure to set the "universe_domain" option if "googleapis.com" is not intended.

Parameters

string|array $token

Exceptions

InvalidArgumentException

getAccessToken()

No description

string|null getRefreshToken()

No description

Return Value

string|null

bool isAccessTokenExpired()

Returns if the access_token is expired.

Return Value

bool

Returns True if the access_token is expired.

getAuth() deprecated

deprecated See UPGRADING.md for more information

No description

setAuth($auth) deprecated

deprecated See UPGRADING.md for more information

No description

Parameters

$auth

setClientId(string $clientId)

Set the OAuth 2.0 Client ID.

Parameters

string $clientId

getClientId()

No description

setClientSecret(string $clientSecret)

Set the OAuth 2.0 Client Secret.

Parameters

string $clientSecret

getClientSecret()

No description

setRedirectUri(string $redirectUri)

Set the OAuth 2.0 Redirect URI.

Parameters

string $redirectUri

getRedirectUri()

No description

setState(string $state)

Set OAuth 2.0 "state" parameter to achieve per-request customization.

setAccessType(string $accessType)

No description

Parameters

string $accessType

Possible values for access_type include: {@code "offline"} to request offline access from the user. {@code "online"} to request online access from the user.

setApprovalPrompt(string $approvalPrompt)

No description

Parameters

string $approvalPrompt

Possible values for approval_prompt include: {@code "force"} to force the approval UI to appear. {@code "auto"} to request auto-approval when possible. (This is the default value)

setLoginHint(string $loginHint)

Set the login hint, email address or sub id.

Parameters

string $loginHint

setApplicationName(string $applicationName)

Set the application name, this is included in the User-Agent HTTP header.

Parameters

string $applicationName

setRequestVisibleActions(array $requestVisibleActions)

If 'plus.login' is included in the list of requested scopes, you can use this method to define types of app activities that your app will write.

You can find a list of available types here:

Parameters

array $requestVisibleActions

Array of app activity types

setDeveloperKey(string $developerKey)

Set the developer key to use, these are obtained through the API Console.

Parameters

string $developerKey

See also

http://code.google.com/apis/console-help/#generatingdevkeys

setHostedDomain(string $hd)

Set the hd (hosted domain) parameter streamlines the login process for Google Apps hosted accounts. By including the domain of the user, you restrict sign-in to accounts at that domain.

Parameters

string $hd

the domain to use.

setPrompt(string $prompt)

Set the prompt hint. Valid values are none, consent and select_account.

If no value is specified and the user has not previously authorized access, then the user is shown a consent screen.

Parameters

string $prompt

{@code "none"} Do not display any authentication or consent screens. Must not be specified with other values. {@code "consent"} Prompt the user for consent. {@code "select_account"} Prompt the user to select an account.

setOpenidRealm(string $realm)

openid.realm is a parameter from the OpenID 2.0 protocol, not from OAuth 2.0. It is used in OpenID 2.0 requests to signify the URL-space for which an authentication request is valid.

Parameters

string $realm

the URL-space to use.

setIncludeGrantedScopes(bool $include)

If this is provided with the value true, and the authorization request is granted, the authorization will include any previous authorizations granted to this user/application combination for other scopes.

Parameters

bool $include

the URL-space to use.

setTokenCallback(callable $tokenCallback)

sets function to be called when an access token is fetched

Parameters

callable $tokenCallback
  • function ($cacheKey, $accessToken)

bool revokeToken(string|array|null $token = null)

Revoke an OAuth2 access token or refresh token. This method will revoke the current access token, if a token isn't provided.

Parameters

string|array|null $token

The token (access token or a refresh token) that should be revoked.

Return Value

bool

Returns True if the revocation was successful, otherwise False.

array|false verifyIdToken(string|null $idToken = null)

Verify an id_token. This method will verify the current id_token, if one isn't provided.

Parameters

string|null $idToken

The token (id_token) that should be verified.

Return Value

array|false

Returns the token payload as an array if the verification was successful, false otherwise.

Exceptions

LogicException
UnexpectedValueException

setScopes($scope_or_scopes)

Set the scopes to be requested. Must be called before createAuthUrl().

Will remove any previously configured scopes.

Parameters

$scope_or_scopes

addScope(string|string[] $scope_or_scopes)

This functions adds a scope to be requested as part of the OAuth2.0 flow.

Will append any scopes not previously requested to the scope parameter. A single string will be treated as a scope to request. An array of strings will each be appended.

Parameters

string|string[] $scope_or_scopes

e.g. "profile"

array getScopes()

Returns the list of scopes requested by the client

Return Value

array

the list of scopes

string|null prepareScopes()

No description

Return Value

string|null

mixed|T|ResponseInterface execute(RequestInterface $request, T>|false|null $expectedClass = null)

Helper method to execute deferred HTTP requests.

Parameters

RequestInterface $request
T>|false|null $expectedClass

Return Value

mixed|T|ResponseInterface

Exceptions

Exception

setUseBatch(bool $useBatch)

Declare whether batch calls should be used. This may increase throughput by making multiple requests in one connection.

Parameters

bool $useBatch

True if the batch support should be enabled. Defaults to False.

isAppEngine()

Are we running in Google AppEngine? return bool

setConfig($name, $value)

No description

Parameters

$name
$value

getConfig($name, $default = null)

No description

Parameters

$name
$default

setAuthConfigFile(string $file) deprecated

deprecated

For backwards compatibility alias for setAuthConfig

Parameters

string $file

the configuration file

Exceptions

Exception

setAuthConfig(string|array $config)

Set the auth config from new or deprecated JSON config.

This structure should match the file downloaded from the "Download JSON" button on in the Google Developer Console.

Parameters

string|array $config

the configuration json

Exceptions

Exception

setSubject(string $subject)

Use when the service account has been delegated domain wide access.

Parameters

string $subject

an email address account to impersonate

setDefer(bool $defer)

Declare whether making API calls should make the call immediately, or return a request which can be called with ->execute();

Parameters

bool $defer

True if calls should not be executed right away.

bool shouldDefer()

Whether or not to return raw requests

Return Value

bool

OAuth2 getOAuth2Service()

No description

Return Value

OAuth2 implementation

protected createOAuth2Service()

create a default google auth object

setCache(CacheItemPoolInterface $cache)

Set the Cache object

Parameters

CacheItemPoolInterface $cache

CacheItemPoolInterface getCache()

No description

Return Value

CacheItemPoolInterface

setCacheConfig(array $cacheConfig)

No description

Parameters

array $cacheConfig

setLogger(LoggerInterface $logger)

Set the Logger object

Parameters

LoggerInterface $logger

LoggerInterface getLogger()

No description

Return Value

LoggerInterface

protected createDefaultLogger()

No description

protected createDefaultCache()

No description

setHttpClient(ClientInterface $http)

Set the Http Client object

Parameters

ClientInterface $http

ClientInterface getHttpClient()

No description

Return Value

ClientInterface

setApiFormatV2(bool $value)

Set the API format version.

true will use V2, which may return more useful error messages.

Parameters

bool $value

protected createDefaultHttpClient()

No description

protected getAuthHandler()

No description

getUniverseDomain()

No description