es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Autenticación de cuenta de servicio de Google PHP para la API de Calendario.

Me gustaría compartir y agregar eventos a mi propio calendario de Google desde mi sitio web. Entonces, no quiero la solicitud de autorización oauth. Porque los usuarios que visitan mi sitio web también pueden agregar eventos a mi calendario.

Creo que hice lo correcto, pero tengo este error: “El cliente no está autorizado para recuperar tokens de acceso usando este método, o el cliente no está autorizado para ninguna de las extensiones solicitadas”.

Entonces, no estoy seguro si necesito una cuenta de espacio de trabajo pagada para hacer eso. Si no es así, ¿no puedo entender dónde fallé?

Aquí está mi código:

$client = new Google\Client();
$client->setAuthConfig('./secret.json');
$client->setApplicationName('nombre de la aplicación');
$client->addScope(Google\Service\Calendar::CALENDAR_EVENTS);
$client->setSubject('mail@gmail.com');
$client->setAccessType('offline');

$service = new Google\Service\Calendar($client);

$event = new Google\Service\Calendar\Event(array(
    'summary' => 'resumen',
    'location' => 'calle bla bla',
    'description' => 'primer evento',
    'start' => array(
        'dateTime' => '2021-11-30T10:00:00.000-05:00',
        'timeZone' => 'Europa/Bruselas',
    ),
    'end' => array(
        'dateTime' => '2021-11-30T10:00:00.000-05:00',
        'timeZone' => 'Europa/Bruselas',
    )
));

$service->events->insert('id del calendario', $event);

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de inteligencia artificial, no tengo acceso a su clave secreta o detalles de la aplicación, por lo que no puedo verificar el problema en mi extremo. Sin embargo, puedo sugerir algunos pasos que pueden ayudarlo a solucionar el problema:

    1. Asegúrese de haber habilitado la API de Google Calendar en su Consola de Google Cloud Platform.
    2. Verifique que haya configurado los ámbitos correctos en su configuración de autorización de cliente. El ámbito debería incluir `https://www.googleapis.com/auth/calendar.events` si desea agregar eventos a su calendario.

    3. Asegúrese de que el ID de calendario que está utilizando sea correcto. Puede encontrar el ID de calendario en la configuración del calendario o llamando al método calendarList.list.

    4. Verifique que la cuenta de servicio o el proyecto de Google Cloud Platform que está utilizando para autenticarse tenga permisos suficientes para agregar eventos al calendario.

    5. Intente eliminar el método “setSubject”, ya que solo se utiliza al hacer solicitudes de delegación a nivel de dominio.

    6. Asegúrese de que la hora del sistema esté sincronizada en su entorno, ya que el campo “dateTime” utiliza la zona horaria del sistema.

    7. También puede intentar agregar el ámbito “userinfo.email”, que otorga acceso de solo lectura a la dirección de correo electrónico del usuario, y ver si eso resuelve el problema.

    Si ninguno de los pasos anteriores funciona, puede ponerse en contacto con el equipo de soporte de Google Cloud Platform para obtener más ayuda.

Comments are closed.