0

我正在尝试运行 iOS SDK 附带的 pushtest 示例。在 .m 文件中,我替换了组织名称、应用程序名称和通知程序名称(我将其命名为“apple”)。我为我的 iPad 设置了配置。当我运行代码时,我没有看到任何要求我允许推送通知的窗口。单击推送到此设备时,终端会吐出此错误:

    2014-01-30 14:04:20.525 Push Test[2970:60b] displaying alert. title: Error, message: {"error":"unauthorized","timestamp":1391119457656,"duration":0,"exception":"org.apache.shiro.authz.UnauthorizedException","error_description":"Subject does not have permission [applications:post:ed031740-7e90-11e3-a906-25e89414fcd7:/notifications]"}

我相信这是因为该应用程序尚未获得推送权限,但是,在第一种情况下没有出现要求此的警报窗口。我怎样才能解决这个问题?

4

2 回答 2

1
"error":"unauthorized"`

这表明您的请求需要身份验证,并且您无权访问端点。

开箱即用的推送通知需要身份验证 - access_token(推荐)或 client_id/secret。尝试在标题中包含 access_token(此处的说明)。

如果要禁用身份验证,可以将GUEST角色添加到/notifications此处的说明)。

于 2014-01-30T22:34:09.020 回答
0

您需要为您的应用程序角色授予权限:

curl -X POST " https://api.usergrid.com/ //roles/ -d '{"name":"nameforrole","title":"titleforrole","permission" : "GET,PUT,POST,删除:/users/me/**"}'

于 2014-01-31T16:33:09.120 回答