4

我正在 Android 应用程序中测试Kii Cloud移动后端即服务 (MBaaS)。我正在尝试在进行任何用户身份验证之前在应用程序级存储桶中创建一个对象。 为此,我想修改应用存储桶以允许匿名用户对其进行写入:

        Kii.initialize("my_app_id", "my_app_key", Kii.Site.US);

        KiiBucket bucket = Kii.bucket("app_status");

        KiiACL ubACL = bucket.acl();
        ubACL.putACLEntry(new KiiACLEntry(KiiAnonymousUser.create(), KiiACL.BucketAction.CREATE_OBJECTS_IN_BUCKET, true));
        ubACL.save(new KiiACLCallBack() {
            @Override
            public void onSaveCompleted(int token, KiiACL acl, Exception exception) {
                if (exception != null)
                    Toast.makeText(getInstance().getApplicationContext(), exception.toString(), Toast.LENGTH_LONG);
            }
        });

但是我在尝试保存 ACL 时总是遇到异常(onSaveCompleted() 返回异常):

com.kii.cloud.storage.exception.ACLOperationException: Error: null
HTTP Response Status: 403
HTTP Response Body: {
  "errorCode" : "WRONG_TOKEN",
  "message" : "The provided token is not valid",
  "appID" : "bc4100c0",
  "accessToken" : "null",
  "suppressed" : [ ]
}

我在开头(示例代码的第一行)正确地传递了我的 app_id 和 app_key。任何想法可能导致此错误?提前感谢您的回答。

4

2 回答 2

2

尝试更换

KiiAnonymousUser.create()

new KiiAnonymousUser()

似乎静态 create() 方法已被删除。

最好的

于 2013-04-12T14:44:24.600 回答
0

回答我自己的问题。我的代码片段肯定会导致异常,因为通过 ACL 的自定义访问控制只能应用于组和用户级别的存储桶(而不是应用级别的存储桶)

于 2013-04-13T00:37:57.587 回答