Cloudant未经授权的请求

问题描述 投票:1回答:2

我一直试图解决这个问题,从IBM-bluemix服务访问我的cloudant数据库。我在Android工作室中设置了我的URL,如下所示:

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的查询,但这是我得到的最接近的。

我是否完全误解了现有数据库的查询工作原理?

java android cloudant
2个回答

1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.