在使用 parse server REST API 的推播功能時,推播成功送到 parse server 只會時回傳 {"result":true}
,只有這資訊對於後台串接 parse server 不是很方便,因缺乏 _pushStatus
中的 id,導致資料送出後就一去無回,不方便針對各個送出到 parse server 的資料做對應。
1 | curl -X POST \ |
正常下會得到:
1 | {"result":true} |
所幸在 parse server 2.2.7 版時新增了 X-Parse-Push-Status-Id
這個 header,如同現行的 Parse.com 一樣,因為考量到回傳 object id 可能會暴露給 clients,因此放在 response 的 header 中。如何驗證 header 確實存在 X-Parse-Push-Status-Id
,可以利用 curl 加上 -v 來看整個 request, response 的結果。
1 | curl -X POST \ |
得到類似結果,回傳的 header 中就能看到 X-Parse-Push-Status-Id:
1 | * Trying 127.0.0.1... |
有了這個資訊後,就可以在後台中做到許多變化,以下為 node.js 的範例:
1 | var http = require('http'); |
最後 obj 會得到類似結果:1
2
3
4
5
6
7
8
9
10
11
12{
"where": {
"deviceType": {
"$in": ["ios"]
}
},
"data": {
"title": "The Shining",
"alert": "All work and no play makes Jack a dull boy."
},
"pushId": "kAuJhPqpt9"
}
接下來怎麼儲存物件及使用這些資料就是另一個課題了~
參考資料: