🚀

[Golang] Sheets API で認可したGoogleアカウントのEmailを取得する

// scope に openid email を追加
config, configErr := google.ConfigFromJSON(credentials, "openid email", sheets.SpreadsheetsScope)

// openid email を追加すると、token.raw にIDトークン(JWT)が格納される
// それをデコードすれば email を取り出せる
token, tokenErr := google_sheet.Config.Exchange(context.Background(), authCode)
idTokenStr := token.Extra("id_token").(string)
idToken, _ := DecodeIDToken(idTokenStr)
email := idToken.Claims.Email