GoogleApi
in package
Table of Contents
Constants
- PERMANENT_REFRESH_ERRORS = ['invalid_grant', 'invalid_client', 'unauthorized_client', 'invalid_scope']
- リトライしても解消しないトークンエンドポイントのエラー(RFC 6749 5.2) 再認証などの対応が必要になる
- REFRESH_MARGIN_SECONDS = 300
- 有効期限の何秒前からアクセストークンを更新するか
- REFRESH_MAX_ATTEMPTS = 3
- アクセストークン更新の最大試行回数
- REFRESH_RETRY_DELAY_MICROSECONDS = 200000
- アクセストークン更新のリトライ間隔の基準値(マイクロ秒)
Properties
- $accessTokenConfigKey : string
- $bid : int
- $client : Google_Client
- $config : Field
- $jsonPathConfigKey : string
- $scopes : string
- $setid : int|null
Methods
- getAccessToken() : array<string|int, mixed>
- Get access token.
- getAccessTokenConfigKey() : string
- アクセストークンを保存するコンフィグのキーを取得する
- getClient() : Google_Client
- Get Google Client
- getScopes() : string
- APIのスコープを取得
- init() : void
- 初期化
- needsRefresh() : bool
- アクセストークンを更新すべきか判定する
- refresh() : array<string, mixed>
- リフレッシュトークンでアクセストークンを更新する
- setAuthConfig() : void
- 認証情報をセット
- updateAccessToken() : void
- Update access token.
Constants
PERMANENT_REFRESH_ERRORS
リトライしても解消しないトークンエンドポイントのエラー(RFC 6749 5.2) 再認証などの対応が必要になる
private
mixed
PERMANENT_REFRESH_ERRORS
= ['invalid_grant', 'invalid_client', 'unauthorized_client', 'invalid_scope']
REFRESH_MARGIN_SECONDS
有効期限の何秒前からアクセストークンを更新するか
private
mixed
REFRESH_MARGIN_SECONDS
= 300
REFRESH_MAX_ATTEMPTS
アクセストークン更新の最大試行回数
private
mixed
REFRESH_MAX_ATTEMPTS
= 3
REFRESH_RETRY_DELAY_MICROSECONDS
アクセストークン更新のリトライ間隔の基準値(マイクロ秒)
private
mixed
REFRESH_RETRY_DELAY_MICROSECONDS
= 200000
Properties
$accessTokenConfigKey
private
string
$accessTokenConfigKey
= 'mail_google_smtp_access_token'
$bid
private
int
$bid
$client
private
Google_Client
$client
$config
private
Field
$config
$jsonPathConfigKey
private
string
$jsonPathConfigKey
= 'mail_google_smtp_clientid_json'
$scopes
private
string
$scopes
= 'https://mail.google.com/'
$setid
private
int|null
$setid
= null
Methods
getAccessToken()
Get access token.
public
getAccessToken() : array<string|int, mixed>
Return values
array<string|int, mixed>getAccessTokenConfigKey()
アクセストークンを保存するコンフィグのキーを取得する
public
getAccessTokenConfigKey() : string
Return values
stringgetClient()
Get Google Client
public
getClient() : Google_Client
Return values
Google_ClientgetScopes()
APIのスコープを取得
public
getScopes() : string
Return values
stringinit()
初期化
public
init(int $bid[, null|int $setid = null ]) : void
Parameters
- $bid : int
- $setid : null|int = null
Tags
needsRefresh()
アクセストークンを更新すべきか判定する
public
needsRefresh(Google_Client $client, int $now) : bool
有効期限の REFRESH_MARGIN_SECONDS 秒前から更新対象にする。
Parameters
- $client : Google_Client
-
アクセストークンをセット済みのクライアント
- $now : int
-
現在の UNIX タイムスタンプ
Return values
boolrefresh()
リフレッシュトークンでアクセストークンを更新する
public
refresh(Google_Client $client, string $refreshToken[, int $retryDelayMicroseconds = self::REFRESH_RETRY_DELAY_MICROSECONDS ]) : array<string, mixed>
一時的な失敗は REFRESH_MAX_ATTEMPTS 回まで試行する。
Parameters
- $client : Google_Client
- $refreshToken : string
- $retryDelayMicroseconds : int = self::REFRESH_RETRY_DELAY_MICROSECONDS
-
リトライ間隔の基準値(試行回数に比例して延ばす)
Tags
Return values
array<string, mixed> —更新後のアクセストークン
setAuthConfig()
認証情報をセット
public
setAuthConfig(string $json) : void
Parameters
- $json : string
Tags
updateAccessToken()
Update access token.
public
updateAccessToken(string $accessToken) : void
Parameters
- $accessToken : string