添加和查询指针不适用于 Parse.com 的 REST API
Posted
技术标签:
【中文标题】添加和查询指针不适用于 Parse.com 的 REST API【英文标题】:adding and querying pointers isn't working with the REST API for Parse.com 【发布时间】:2014-06-11 09:19:58 【问题描述】:我正在使用从文档中复制过来的以下命令。为简洁起见,假设我在每个 curl 语句中传递了应用程序 ID 和键。
创建播放器
卷曲-X POST \ -d '"name":"abhinav", "rank" :"amazing"' \ https://api.parse.com/1/classes/Player
玩家对象 ID:HgMZF6H90L
创建游戏并添加指针关系
卷曲-X POST \ -d'“级别”:“两个”'\ https://api.parse.com/1/classes/GameScore
GameScore objectId:cwYIEwFaq9
curl -X PUT \
-d '"opponents":"__op":"AddRelation","objects":["__type":"Pointer","className":"Player","objectId":"HgMZF6H90L"]' \
https://api.parse.com/1/classes/GameScore/tDiFZSE0lQ
现在我从数据浏览器中检查,GameScore 对象有一个包含关系的字段。单击“查看关系”将我导航到下面的正确列表。工作正常,除了它说“关系”而不是指针。不确定这是否相关
但是,我无法从 REST API 查询此信息。 GET 生成关系数据,但没有可用的玩家的 objectId。
curl -X GET \
https://api.parse.com/1/classes/GameScore/cwYIEwFaq9
结果:
"Level":"TWO","createdAt":"2014-06-11T08:49:43.325Z","objectId":"cwYIEwFaq9","opponents":"__type":"Relation","className":"Player","updatedAt":"2014-06-11T08:51:01.093Z"
尝试使用包含选项,但会导致一些错误
curl -X GET \
--data-urlencode "include=opponents" \
https://api.parse.com/1/classes/GameScore/cwYIEwFaq9
结果:
代码 107,无效 JSON
我做错了什么?
【问题讨论】:
错误意味着你的json不好 【参考方案1】:为什么要使用“删除”来添加关系?再次查看文档。
再次转到文档部分“创建角色”....
"__op": "AddRelation",
"objects": [
"__type": "Pointer",
"className": "_Role",
"objectId": "Ed1nuqPvc"
]
-- 编辑 要使用“include=opponents”,您可以使用以下方法创建:
"opponents":"__op":"Add","objects":["__type":"Pointer","className":"_Role","objectId":"Ed1..."]
【讨论】:
很抱歉 - 剪切和粘贴错误。问题仍然存在。我已经编辑了上面的代码。感谢您指出这一点【参考方案2】:已解决:
问题是我需要创建一个指针数组。因此,我只需要使用“AddUnique”操作来为数组创建一个条目,而不是“AddRelation”。所以
curl -X POST \
-d '"Level" : "TWO", "opponents":"__op":"AddUnique","objects":["__type":"Pointer","className":"Player","objectId":"5Q4QsKF8QR"]' \
https://api.parse.com/1/classes/GameScore
【讨论】:
以上是关于添加和查询指针不适用于 Parse.com 的 REST API的主要内容,如果未能解决你的问题,请参考以下文章
推送通知不适用于通过 Parse.com 发送的 Android 和 iOS 设备