ionic ios push 无法发送请求

Posted

技术标签:

【中文标题】ionic ios push 无法发送请求【英文标题】:ionic ios push not working on sending request 【发布时间】:2016-03-20 22:47:18 【问题描述】:

大家好,我正在处理 ionic ios 推送通知,并坚持最后一件事,我试图在我的设备中测试通知。

我已按照 ionic 文档中显示的每个步骤进行 ios 完整推送设置。就像添加插件、创建证书和在 ionic io 应用程序设置中上传 .p12 文件以及创建配置文件一样。该构建在 xcode 中也成功,并且显示警报消息的开发通知也可以正常工作。

问题是,默认情况下,我试图将配置文件“fake_profile_push”替换为我在名为“push_profile”的 ionic io 应用程序设置中创建的配置文件。我确保 config dev push 为 false。

所以我在这里尝试从终端发送这个 curl 命令 我从 ionic io 复制了身份验证代码,从控制台日志中获取了配置文件和令牌。

curl -X POST -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5NTk5MGFiZi04ZTljLTQ5YjktOTc1Yy0zMDA1OGI3ZThiY2UifQ.KubeC0N764OWE_SZDxJRdY6ie266CVvLX8OwNnm6rr8" -H "Content-Type: application/json" -d '
    "tokens": ["DEV-8180d41f-adc0-4b11-b0cc-7fa6370adad7],
    "profile": “push_profile”,
    "notification": 
        "message": "Hello!"
    
' "https://api.ionic.io/push/notifications"

它返回我不理解的 json 错误

"error": "link": null, "type": "UnprocessableEntity", "message": "Invalid JSON in request body. For empty JSON, pass ''.", "meta": "status": 422, "version": "2.0.0-beta.0", "request_id": "7dec664f-ae0b-4a8a-807b-edee70b4a1e5"

我在请求正文中没有看到任何错误。我究竟做错了什么?你能纠正我吗?谢谢你

Your system information:

Cordova CLI: 6.0.0
Gulp version:  CLI version 3.9.1
Gulp local:  
Ionic Version: 1.2.4
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
ios-deploy version: Not installed
ios-sim version: 5.0.6 
OS: Mac OS X El Capitan
Node Version: v5.9.0
Xcode version: Xcode 7.2.1 Build version 7C1002 

【问题讨论】:

【参考方案1】:
"tokens": ["DEV-8180d41f-adc0-4b11-b0cc-7fa6370adad7],

应该是:

"tokens": ["DEV-8180d41f-adc0-4b11-b0cc-7fa6370adad7"],

我猜是导致 json 错误

【讨论】:

【参考方案2】:

您可以检查向以下端点发出 GET 请求的推送状态:https://api.ionic.io/push/notifications/<your-notification-uuid>/messages

我认为问题出在您的标题中。证明您的Authorization: Bearer 是否正确。您可以测试您的令牌:curl -H "Authorization: Bearer [YOUR_TOKEN]" https://api.ionic.io/auth/test

另外,请尝试从您的请求中删除 -H "Content-Type: application/json",因为错误表明问题出在 json 中。

【讨论】:

不,伙计,据我所知,我们正在发送 json 数据并删除 -H 意味着我们没有将标头指定为 Json 格式,因此标头不会有问题。

以上是关于ionic ios push 无法发送请求的主要内容,如果未能解决你的问题,请参考以下文章

IONIC FCM推送通知ios,无法接收

Ionic build android 失败 - 无法解析配置“:_debugCompile”的所有依赖项

从 Ionic.io 向特定用户推送 Ionic

无法为我的 ionic 3 应用程序安装 cordova phonegap-push-plugin

安装cordova插件后我无法在ionic中构建android apk

如果应用程序打开,离子推送通知不起作用