Crear Service Account para generar access tokens de Google API para validar compras en aplicación (compras in app en Android)

Tiempo de lectura: 2 minutos

Hoy vamos a aprender cómo podemos generar una cuenta Service Account que nos servirá para verificar compras o generar un token auth en Google.

Pájaros volando - pexels

Lo primero que haremos es ir a https://console.cloud.google.com/iam-admin/serviceaccounts/create

Y creamos una cuenta:

En permisos elegimos el Rol, ponemos EDITOR (muy importante).

Una vez creada, pulsamos en Adminsitrar claves:

Ahora pulsamos en crear nueva clave

Y elegimos tipo JSON.

Ahora copiamos ese JSON y lo llevamos a nuestro back.

Para obtener el token de acceso usaremos esta función

#Obtener token de acceso (duracion 1 hora)
# Ruta a tu JSON de la Service Account
SERVICE_ACCOUNT_FILE = "service-account.json"

# Scope para Google Play Developer API
SCOPES = ["https://www.googleapis.com/auth/androidpublisher"]

def get_access_token():
    # Carga credenciales desde el JSON
    credentials = service_account.Credentials.from_service_account_file(
        SERVICE_ACCOUNT_FILE, scopes=SCOPES
    )
    
    # Refresca/obtiene el token
    credentials.refresh(Request())
    return credentials.token

Y para llamarlo usamos esto:

 token = get_access_token()
 print("Access Token:", token)

Ahora tenemos que ir a la consola de google paly publish.

Después ir a

Invitar al usuario que hemos creado:

Asignamos la APP a la que va a afectar:

Y otorgar permisos de Ver información financiera y Acceso a suscripciones o compras.

Finalmente tenemos que actualizar la compra o suscripción in app si estas fueron creadas antes de crear este usuario.

Deja un comentario