无法更新Kinvey数据库中的数据

苏哈·加里卜(Soha Gharib)

我正在尝试更新kinvey集合中的一条记录,但它一直说凭据不足,我在论坛上发现了一个类似的问题,该问题说我必须将setGloballyWriteable设置为我的模型的acl,但我仍然这样做,但仍然有错误,这是我的代码

public void loadMenuHelper(){
    menu_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            final Order order = my_orders[position];
            order.getAcl().setGloballyWriteable(true);
            order.getAcl().setGloballyReadable(true);
            int requests = order.getRequests();
            ////////////have the handler
            AlertDialog.Builder alert = new AlertDialog.Builder(
                    new ContextThemeWrapper(ImageTargets.this, R.style.AlertDialogCustom));

            LinearLayout layout = new LinearLayout(ImageTargets.this);
            layout.setOrientation(LinearLayout.VERTICAL);
            alert.setTitle("There are " + requests + "Before you");
            alert.setView(layout);
            alert.setPositiveButton("Create", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    ///////////////
                    order.getAcl().setGloballyWriteable(true);
                    order.getAcl().setGloballyReadable(true);
                    order.setRequests(order.getRequests() + 1);
                    AsyncAppData<Order> myevents = mKinveyClient.appData("Order", Order.class);
                    myevents.save(order, new KinveyClientCallback<Order>() {
                        @Override
                        public void onFailure(Throwable e) {
                            Log.i("TAG", "failed to save event data" + e.getMessage());
                            Log.i("TAG", sharedpreferences.getString("owner_name", ""));
                        }

                        @Override
                        public void onSuccess(Order r) {
                            Log.d("TAG", "saved data for entity " + r.getName());
                            Toast.makeText(getApplicationContext(), "Your Order was Created Sucessfully", Toast.LENGTH_SHORT).show();
                        }
                    });

                }
                ////////////


            });

            alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    // what ever you want to do with No option.
                }
            });

            alert.show();
            ////////////////

        }
    });
    ///////////////
}
一些

考虑到您已经正确登录了用户,这似乎与收集权限有关。

您的收藏处于共享模式,这就是为什么您可以读取其他人创建的订单对象的原因。但是,因为只有创建者才能修改对象,所以您将收到“凭据不足”错误。

您在这里有两个选择。第一种选择是将收集权限更改为公共,以便任何人都可以编辑任何订单对象。您可以在Kinvey Web控制台中执行此操作,方法是转到数据收集器中的“订单”集合的“设置”选项卡。此后,您将不需要使用setGloballyWriteable / setGloballyReadable。

另一种选择(根据我的选择更合适)是为特定订单的请求创建另一个集合。在这个新集合中,您将能够存储订单对象的引用以及有关请求该对象的用户的用户信息。

您可以在此处找到与收集权限相关的必要文档-http://devcenter.kinvey.com/android/guides/security

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据库无法连接或更新

来自分类Dev

无法从PHP中的数据库更新变量

来自分类Dev

Codeigniter更新记录-无法在数据库中更新

来自分类Dev

无法更新数据库中的对象

来自分类Dev

数据库更新无法在Meteor方法中运行

来自分类Dev

实体框架无法更新数据库

来自分类Dev

无法通过Laravel更新数据库

来自分类Dev

实时更新数据库中的数据

来自分类Dev

无法使用SWIFT更新数据库FMDB中的字段

来自分类Dev

无法更新数据库形式的数据

来自分类Dev

无法在Stripe Webhook中更新数据库

来自分类Dev

无法在本地数据库中更新或删除:错误

来自分类Dev

无法更新数据库

来自分类Dev

更新数据库中的数据值

来自分类Dev

无法更新sqlite数据库中的记录

来自分类Dev

无法从数据库中获取数据

来自分类Dev

无法更新数据库中的列

来自分类Dev

无法从MySQL数据库更新数据

来自分类Dev

无法更新数据库中的行

来自分类Dev

无法更新表单字段中的数据库条目

来自分类Dev

无法更新数据库中的图像路径

来自分类Dev

更新数据库中的数据列表

来自分类Dev

更新SQL数据库中的数据

来自分类Dev

无法更新数据库中的字段

来自分类Dev

无法使用SWIFT更新数据库FMDB中的字段

来自分类Dev

无法显示数据库中的数据

来自分类Dev

无法从数据库中检索数据

来自分类Dev

我无法更新数据库中的字母密码

来自分类Dev

无法使用php更新mysql数据库中的值