如何使用 python-cloudant 进行未经身份验证的访问

How to do unauthenticated access using python-cloudant

我已经习惯使用 python-cloudant 对 Cloudant 数据库进行经过身份验证的访问,但想从 Python 脚本进行未经身份验证的访问。我为我的帐户设置了对其中一个数据库的未经身份验证的读取访问权限,并且可以在没有身份验证的情况下使用 curl 正常读取文档,但我不知道如何使用 python-cloudant 来执行此操作。我试过使用 (None, None), ("nobody", "none"), 甚至一些我用于数据库的凭据用于完全不同的帐户但被拒绝访问.

我想我得到了正确的组合。我不知道我之前在做什么,但是当我使用有效的 API 密钥和访问令牌进行身份验证时,即使 API 密钥没有显式访问数据库的权限,我也获得了访问权限。

您可以使用 CouchDB 客户端并设置管理员模式。这样您就不需要在客户端构造函数中指定凭据。

    from cloudant.client import CouchDB
    client = CouchDB(None, None, url='https://user.cloudant.com', admin_party=True, connect=True)
    db = client['mydb']  # my world readable database

    print db.doc_count()

有关详细信息,请参阅 docs