如何调用BaaS API

时间:2014-06-04 04:22:43

标签: apigee

我创建了一个新的集合,并在APIGEE BaaS中为此集合添加了少量实体。我可以使用管理门户运行GET查询。

我正在尝试使用我的REST客户端调用它。

我使用以下网址:https://api.usergrid.com/myOrg/myapp/mycollection

但是,我得到以下错误:

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

我认为我需要在HTTP标头中为请求添加授权信息。但我无法找到有关预期的信息。

如何调用BaaS API?

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为您无权在未经身份验证的情况下访问集合(或者在某些情况下,您的身份验证令牌可能没有访问该特定集合的适当权限。

您可以在Apigee文档中了解managing permissions & roles

虽然有几种快速解决问题的方法:

  1. (最常见的)是验证您的用户帐户并使用适当的访问令牌(例如https://api.usergrid.com/myOrg/myapp/mycollection?access_token=<token>

  2. 虽然这不是你应该在客户端做的事情,但是对于服务器端请求或测试目的,你可以以类似的方式使用你的应用程序或org级别的client_id / client_secret(例如{{1} })

  3. 授予https://api.usergrid.com/myOrg/myapp/mycollection?client_id=<id>&client_id=<secret>角色访问权限(此处为link to the docs