pub async fn fetch_access_token(
client_id: &str,
client_secret: &str,
refresh_token: &str,
token_url: &str,
) -> Result<SecretString>Expand description
Exchange an OAuth2 refresh token for a short-lived access token.
token_url is parameterized for testing; production callers pass
GOOGLE_TOKEN_URL.
ยงErrors
Returns MktError::AuthError if the token endpoint rejects the
exchange or the response lacks an access_token field, and
MktError::Http on transport failures.