更新查询对象上的 Parse ACL
Posted
技术标签:
【中文标题】更新查询对象上的 Parse ACL【英文标题】:Update Parse ACL on queried object 【发布时间】:2018-02-04 05:36:25 【问题描述】:在我的 ios 应用程序中,我正在制作一个 PFObject 并将其保存到 Parse。后来,创建了一个用户的帐户(以前不存在),并尝试修改它但不能,因为 PFObjects 的 ACL 未设置为允许该用户拥有权限。如何修改 Parse 中现有对象的 ACL 以允许该用户访问?我不想允许公共写访问。
如果给定正确的 code
查询参数,则以下代码将打印 Success!
,但是当我在 Parse 中检查 ACL 时,它根本没有更新。
let query = PFQuery(className: "Bike")
query.whereKey("bikeID", equalTo: code)
query.findObjectsInBackground (objects: [PFObject]?, error: Error?) in
guard let obj = objects?[0], error == nil else
print("Error")
return
obj.acl?.setWriteAccess(true, for: PFUser.current()!)
obj.saveInBackground (success: Bool, error: Error?) in
if error != nil
print(error!.localizedDescription)
else
print("Success!")
This post 似乎暗示无法通过我的应用程序的 Swift 代码更改 ACL。
【问题讨论】:
【参考方案1】:如果您知道要预先授予访问权限的对象,您可以在 User
类的 CloudCode afterSave
挂钩中更改它的 ACL:在 afterSave
中,测试用户是否刚刚创建(到避免为后续的保存请求重做这项工作),然后查找对象并使用主密钥设置访问权限。
【讨论】:
以上是关于更新查询对象上的 Parse ACL的主要内容,如果未能解决你的问题,请参考以下文章