🦉

【Google API】refreshTokenからaccessTokenを取得する(Java/Kotlin)

2021/09/12に公開

概要

以前に【Google API】GoogleCredentialを使用せず認可コードからcredentialの情報を取得(Java/Kotlin)という記事で、Googleの認証APIで認証コードからcredential情報を取得する実装を紹介しました。今回はrefreshTokenからaccessTokenを取得する、Kotlinでの実装を紹介したいと思います。

前提

対応

Javaでの実装になりますが、こちらのstackoverflowの記事に、実装サンプルが紹介されています。Google APIのライブラリのGoogleRefreshTokenRequestを使えば、refreshTokenからaccessTokenを取得できそうです。

実装サンプル

Kotlinでの実装サンプルですが、Javaでもほぼ同様になります。

fun getAccessTokenFromRefreshToken(googleClientId: String, googleSecret: String): String {
    val tokenResponse = GoogleRefreshTokenRequest(
        NetHttpTransport(),
        JacksonFactory.getDefaultInstance(),
        refreshToken,
        googleClientId,
        googleSecret
    ).execute()
    return tokenResponse.accessToken
}

Discussion