3

SyncCredentials で Realm にログインすると、以下のコードでユーザーを作成できます。

SyncCredentials credentials = SyncCredentials.usernamePassword(username, password, true);
SyncUser.logInAsync(credentials, AUTH_URL, new SyncUser.Callback<SyncUser>() {
}

そして、以下のコードを使用して Realm でこのユーザーを削除したい場合:

String id = SyncUser.current().getIdentity();
PermissionUser permissionUser = realm.where(PermissionUser.class).equalTo("id", id).findFirst();
if (permissionUser != null) {
    permissionUser.getPrivateRole().removeMember(id);
    permissionUser.getPrivateRole().deleteFromRealm();
    if (permissionUser.getRoles() != null) {
        permissionUser.getRoles().deleteAllFromRealm();
    }
    permissionUser.deleteFromRealm();
}

このコードは正常に実行されましたが、Realm Studio で確認したところ、このユーザーはまだ存在していました。この問題を助けてください、どうもありがとう。

4

2 に答える 2

0

みんなに感謝しますが、ここで解決策を見つけました:

String url = RealmConstants.AUTH_URL + "/user/" + SyncUser.current().getIdentity();
OkHttpClient okHttpClient = RetrofitClient.ClientHolder.getOkHttpClient();
Request request = new Request.Builder()
                .url(url)
                .addHeader("Authorization", token.value())
                .addHeader("Accept", "application/json, text/plain, */*")
                .addHeader("Content-Type", "application/json")
                .delete()
                .build();
okHttpClient.newCall(request).enqueue(new Callback() {
    @Override
    public void onFailure(@NonNull Call call, @NonNull IOException e) {
        callback.onFailure(new ClientError(e.hashCode(), e.getMessage()));
    }

    @Override
    public void onResponse(@NonNull Call call, @NonNull Response response) {
        callback.onSuccess(null);
    }
});
于 2018-12-20T02:11:54.800 に答える