studio google event create calendario api calendar google-api google-calendar-api

event - Google Calendar API v3 Access no configurado



google calendar api create events (5)

Cuando probó la llamada en el API Explorer, también tuvo que activar la opción "Autorizar solicitudes usando OAuth 2.0" y luego autorizar el permiso que se solicita. En este caso, el usuario (incluso si es usted mismo) debe autorizar el acceso a la información.

Para que una aplicación acceda a la información del usuario, es necesario pasar por el proceso de autenticación utilizando OAuth 2.0. Aquí puede encontrar la documentación: https://developers.google.com/accounts/docs/OAuth2

También puede usar el OAuth Playground ( https://developers.google.com/oauthplayground/ ) para realizar llamadas a la API (como en el explorador de la API), pero en este caso siguiendo los pasos necesarios para la autorización, en el explorador de la API estos pasos se realizan automáticamente al activar el botón "Autorizar solicitudes mediante OAuth 2.0".

Espero que esta información sea útil.

Estoy tratando de obtener una lista de eventos del calendario público de un cliente utilizando v3 de la API de Google. Ingresé el ID de calendario en el Explorador de API y obtengo un resultado positivo:

https://www.googleapis.com/calendar/v3/calendars/rpsj44u6koirtq5hehkt21qs6k%40group.calendar.google.com/events?key={YOUR_API_KEY}` => [List of events here, as expected]

Para crear una clave de API, creé un proyecto en la Consola de desarrollador de Google, creé una clave de acceso de API pública ( API y autenticación> Credenciales ) y reemplacé {YOUR_API_KEY} anterior con mi clave real. Me aseguré de que la API del calendario estuviera activada ( APIs y auth> APIs ). Cuando pego esta URL en el navegador, obtengo esta respuesta de error:

{ "error": { "errors": [ { "domain": "usageLimits", "reason": "accessNotConfigured", "message": "Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration.", "extendedHelp": "https://console.developers.google.com" } ], "code": 403, "message": "Access Not Configured. The API is not enabled for your project, or there is a per-IP or per-Referer restriction configured on your API key and the request does not match these restrictions. Please use the Google Developers Console to update your configuration." } }

Todas las respuestas que he visto dicen que es necesario asegurarse de que la API de Google Calendar está activada, y definitivamente lo está (también está activada de forma predeterminada). ¿Que me estoy perdiendo aqui?


El uso de la API del calendario de Google me frustró por un par de horas, y quiero documentar una respuesta demasiado completa (más allá del alcance de esta pregunta) de algunas fuentes para cualquier otra persona que pueda tener dificultades.

Primero, si eres como yo, obtuviste la dirección pública de la configuración de tu calendario:

Para mi calendario público, ese enlace XML era this ; pero los datos estaban desordenados y, creo, representaban una versión anterior de la API. Después de buscar un poco, encontré la estructura de URL correcta para la API v3: https://www.googleapis.com/calendar/v3/calendars/dl9fj86o2ohe7o823s7jar920s%40group.calendar.google.com/events?key={API_KEY} .

Pero como esta pregunta, estaba recibiendo un error. Haz lo siguiente:

1. Crea un proyecto.

Para hacerlo, vaya a la Consola de desarrollador de Google y haga clic en Create Project . Esto me confundió porque mi aplicación es completamente frontal y no creía que necesitara el proyecto Google Developer. Estaba equivocado; Necesitaba un proyecto para realizar los siguientes pasos.

2. Crea una clave API para tu proyecto

Después de crear el proyecto, haga clic en el nombre del proyecto y navegue a APIs & auth > Credentials . Bajo "Acceso público a la API", haga clic en Create new key > {KEY_TYPE} > Create ; en mi caso, {KEY_TYPE} era la Browser key ya que tengo una aplicación completamente frontal. Omitir rellenar los referers por ahora. Esto debería crearle una clave de API que inserte en la URL anterior (donde dice {API_KEY} .

3. Añadir referers

Si has llegado hasta aquí, deberías ver el error que OP estaba hablando. La razón por la que recibe este error es que, aunque el calendario es público, Google solo permite solicitudes de dominios específicos. Así que podría publicar el ID de mi calendario e incluso mi clave de API, y otro desarrollador no podría acceder a mi calendario mediante programación sin que yo lo permitiera.

Para resolver esto, haga clic en Edit allowed referers bajo API y autenticación> Credenciales) y agregue (1) el nombre del dominio que realizará la solicitud a la API y (2) si está desarrollando localmente http://localhost:{PORT}/* . Asegúrate de agregar el comodín al final.

4. Hacer una solicitud HTTP desde un dominio permitido

Después de toda esta configuración, aún obtendrá un error si simplemente pega la URL en su navegador. Esto se debe a que la solicitud debe provenir de uno de los dominios que acaba de permitir. Simplemente haga la solicitud desde cualquier aplicación que esté creando. En mi caso, el JavaScript (jQuery) se ve así:

$.ajax({ type: ''GET'', url: {MY_URL}, success: function(data) { // Throw a debugger statement in here, // and you should be able to inspect your data. } });


Enfrenté el mismo problema y mi problema era porque tenía diferentes nombres en mi proyecto y en las API de Google.

Aquí el nombre en las API de Google es " Ejemplo de aplicación "

Para resolver el problema, cambié el nombre de mi proyecto a " Ejemplo de aplicación " también

public MakeRequestTask(GoogleAccountCredential credential) { HttpTransport transport = AndroidHttp.newCompatibleTransport(); JsonFactory jsonFactory = JacksonFactory.getDefaultInstance(); mService = new com.google.api.services.calendar.Calendar.Builder( transport, jsonFactory, credential) .setApplicationName("App Example") .build(); }


No necesita OAuth 2.0 para acceder a un calendario público.

Tuve el mismo problema que se describió en primer lugar por sea_monster, aunque inserté una clave pública de acceso a la API y comprobé que la API estaba activada, siempre recibí un error que decía:

403, AccessNotConfigured, la API no está habilitada ...

Solución :

Tuve que ir a la Consola de desarrollador de Google, elegí mi proyecto, hice clic a la izquierda en "APIs Auth.", Luego en "APIs" y elegí la API del calendario. Aunque estaba encendido, tuve que desactivar la API, esperé los mensajes y volví a activar la API. ¡Ahora mi código funciona y no tuve que cambiarlo!


Vaya a API Manager> Dashboard> Habilitar API y busque o seleccione: URL Shortener API Luego seleccione el botón Habilitar.