Cloudant未授权的请求

时间:2019-04-22 19:21:18

标签: java android cloudant

我一直在尝试解决有关从IBM-bluemix服务访问我的cloudant数据库的问题。 我已经在Android Studio中设置了这样的网址:

URL url = new URL("https://XXXX-XXXX-XXXX-XXXX-XXXX-bluemix.cloudant.com");

然后尝试通过以下方式访问它:

CloudantClient client =  ClientBuilder.url(url)
                .username("myusername")
                .password("mypassword")
                .build();

但是,当我尝试访问/修改数据库中的任何内容时, 例如:

client.createDB("test_DB");

我得到了错误:

Error: unauthorized. Reason: one of _admin, server_admin is required for this request.

我想念什么? 我已经看到了许多种从cloudant进行查询的方法,但这是我所获得的最接近的方法。

我是否完全误解了从现有数据库进行查询的方式?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

如果您正在使用Cloudant旧版API密钥,则将无法执行帐户管理员级别的操作,例如列出或创建数据库,因为旧版API密钥与特定数据库而非帐户相关联。如果这是您使用的凭据类型,则可以通过以下方式初始化客户端,并通过以下方式获取现有数据库:

Database db = client.database("test_DB", false);