我正在尝试运行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]"}
我认为这是因为应用程序尚未获得推送权限,但是,在第一种情况下未提供要求此提醒的警报窗口。我该如何解决这个问题?
答案 0 :(得分:1)
"error":"unauthorized"`
这表明您的请求需要身份验证,并且您无权访问该端点。
推送通知开箱即用需要身份验证 - access_token(推荐)或client_id / secret。尝试在标题中加入access_token(说明here)。
如果要停用身份验证,可以将GUEST
角色添加到/notifications
(说明here)。
答案 1 :(得分:0)
您需要授予应用程序角色权限:
curl -X POST“https://api.usergrid.com/ // roles / -d'{”name“:”nameforrole“,”title“:”titleforrole“,”permission“:”GET,PUT,POST,DELETE: /用户/ ME / **“}”