Pregunta

Creé una nueva colección y agregué algunas entidades a esta colección en APIGEE BaaS.Puedo ejecutar la consulta GET utilizando el portal de administración.

Estoy intentando invocar lo mismo usando mi cliente REST.

Estoy usando la siguiente URL: https://api.usergrid.com/myOrg/myapp/mycollection

Sin embargo, aparece el siguiente error:

{
    "error": "unauthorized",
    "timestamp": 1401855388323,
    "duration": 1,
    "exception": "org.apache.shiro.authz.UnauthorizedException",
    "error_description": "Subject does not have permission [applications:get:xxxxxxxxxxx]"
}

Creo que necesito agregar información de autorización en el encabezado HTTP de la solicitud.Pero no puedo encontrar información sobre lo que se espera.

¿Cómo puedo invocar la API de BaaS?

¿Fue útil?

Solución

Esto sucede porque no tiene permiso para acceder a la colección sin autenticación (o, en algunos casos, es posible que su token de autenticación no tenga el permiso adecuado para acceder a esa colección en particular).

Puedes leer sobre gestionar permisos y roles en los documentos de Apigee.

Sin embargo, hay un par de formas rápidas de resolver su problema:

  1. (Lo más frecuente) es autenticar su cuenta de usuario y utilizar un token de acceso adecuado (p. ej. https://api.usergrid.com/myOrg/myapp/mycollection?access_token=<token>)

  2. Si bien no es algo que debas hacer en el lado del cliente, para solicitudes del lado del servidor o con fines de prueba, puedes usar tu aplicación o client_id/client_secret a nivel de organización de manera similar (p. ej. https://api.usergrid.com/myOrg/myapp/mycollection?client_id=<id>&client_id=<secret>)

  3. Dar el Guest acceso de rol a su colección (aquí hay un enlace a los documentos)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top