Запись в объект класса Parse Installation, который не принадлежит текущему устройству. PF Установка iOS Swift 3 ИЗ КЛИЕНТСКОГО ПРИЛОЖЕНИЯ

Мне интересно, может ли пользователь читать / писать строки в классе Parse Installation, которые не принадлежат его устройству?

Я старался PFInstallation.query() а также PFQuery(className: "Installation") запросить класс установки, чтобы затем отредактировать и сохранить объекты. Первый метод вернул следующую ошибку: Clients aren't allowed to perform the find operation on the installation collection, Второй не вернул никаких объектов в запросе.

Нельзя ли записать в строку класса установки, отличную от PFInstallation.current() устройства? Или кто-то знает правильный метод, как это сделать?

Также я пытаюсь сделать это из клиентского приложения, БЕЗ Мастер Ключа

Первый метод:

let query = PFInstallation.query()
    query?.findObjectsInBackground(block: { (rows, error) -> Void in
        if error == nil {

            print(rows)

        } else {

            print("Error: ", error!)

        }
    })

Второй метод:

let inst = PFQuery(className: "Installation")
    inst.whereKey("deviceType", equalTo: "ios")
    inst.findObjectsInBackground(block: { (rows, error) -> Void in
        if error == nil {

            for row in rows! {

                print("row: ", row)

            }

        } else {

            print("ERROR: ", error!)

        }
    })

1 ответ

Имя класса _Installation (Все зарезервированные имена таблиц / классов начинаются с подчеркивания _)

Разрешенные операции в _Installation ( Подробнее здесь):

Get -> игнорирует CLP, но не ACL
Найти -> только главный ключ *
Создать -> игнорирует CLP
Обновление -> игнорирует CLP, но не ACL **
Удалить -> только главный ключ **
Добавить поле -> нормальное поведение

* Получайте запросы на установку, следуйте спискам ACL. Запросы на поиск без мастер-ключа не допускаются, если вы не указали установочный идентификатор в качестве ограничения.

** Запросы на обновление при установке соответствуют списку ACL, определенному при установке, но запросы на удаление доступны только для главного ключа. Для получения дополнительной информации о том, как работают установки, ознакомьтесь с разделом установки руководства REST.

Дополнительно:

Безопаснее и проще использовать имя класса, предоставленное самим классом, чем вводить строковое значение.

// Unsafe, can lead to typos, etc.
let query = PFQuery(className: "Installation")
// Better
let query = PFQuery(className: PFInstallation.parseClassName)
// Simpler
let query = PFInstallation.query()
Другие вопросы по тегам