plugin google credenciales cliente auth php google-api google-oauth google-oauth2 google-calendar-api3

php - google - oauth2 api



¿Cómo autentico en google api con mis credenciales o identificador y contraseña generados especiales? (1)

Quiero obtener todos mis eventos de mi calendario personal. He intentado durante horas todo tipo de tipos de autenticación: realicé la autenticación con devolución de llamada, donde debería iniciar sesión en mi cuenta de google y luego redirigir a mi sitio web a Google. - pero esto no es lo que necesito. También he intentado con las credenciales predeterminadas, y para mi sorpresa, no tengo acceso a mi calendario, qué tipo de lógica es esta.

Básicamente, cómo funciona para mí en Spotify: en Spotify es posible generar la identificación y la contraseña del cliente en mi cuenta. Después de eso, envío HTTP con base64 (cliente: contraseña) en mi encabezado desde mi código y recibo el token, que utilizo para consultar algunas entidades.

Pero en google API no encontré esa solución. ¿Tal vez alguien podría aconsejar cómo autenticarse?


Puede usar la biblioteca de cliente de Google para PHP . Está marcado como beta , pero me pareció fácil de usar y funciona muy bien para casos simples de uso del calendario.

Puse un ejemplo de trabajo en GitHub.

Si prefieres codificar directamente contra las API de OAuth 2.0, te recomiendo que visites Google Developers OAuth 2.0 Playground .

  • Seleccione Calendar API v3 en el paso 1.
  • En el paso 3, haga clic en List possible operations y seleccione List Events . Reemplace {calendarId} con su dirección de correo electrónico gmail.com.

Esto le permite observar el flujo de autenticación, comenzando con la redirección a su aplicación una vez que el usuario se autentica y concede permisos a Google:

GET /oauthplayground/?code=4/xxxxxxxxxxxZL-nxhM_kxxxxxxxxxQ HTTP/1.1

POST /oauth2/v4/token HTTP/1.1 Host: www.googleapis.com Content-length: 233 content-type: application/x-www-form-urlencoded user-agent: google-oauth-playground code=4%2FxxxxxxxxxxxxxxZL-xxxx_kxxxxxxxxxxQ&redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&client_id=4xxxxxxxxxx.apps.googleusercontent.com&client_secret=************&scope=&grant_type=authorization_code

GET /calendar/v3/calendars/[email protected]/events HTTP/1.1 Host: www.googleapis.com Content-length: 0 Authorization: Bearer ya29.GlsBBUxxxxxxxxxxXo-dF-Kexxxxxxxxxxxx0j_owVSaxxxxxxxxxWG-Xxxxxxxxxl