gpt4 book ai didi

rest - 文档数据库 : Can't access documents in my collection

转载 作者:行者123 更新时间:2023-12-02 23:49:14 25 4
gpt4 key购买 nike

我正在使用 DocumentDB,并且希望通过 REST-API 通过提交的查询从我的一个集合访问特定文档

我想测试与 Postman 的通话。我配置了 header 和身份验证 token ,一切都按预期工作(例如,我能够获取所有集合的列表),但我无法读取文档

我正在调用以下 URI:

POST https://xxx.azure.com/dbs/testDB/colls/offer/docs

授权 token 是使用以下参数生成的:

verb: "POST"
resourceType: "docs"
resourceID: "dbs/testDB/colls/offer"
x-ms-date: ...
masterkey: "P8riQ...aMORA=="

标题是:

x-ms-documentdb-isquery: True
x-ms-date: ...
authorization: generated token
x-ms-version: 2015-08-06
Content-Type: application/x-www-form-urlencoded

正文是(x-www-form-urlencoded):

query: SELECT * FROM offer
parameters: []

但 postman 的回应始终是:

{
"code": "Unauthorized",
"message": "The input authorization token can't serve the request. Please check that the expected payload is built as per the protocol, and check the key being used. Server used the following payload to sign: 'post\ndocs\ndbs/testDB/colls/offer\nfri, 30 sep 2016 13:47:32 gmt\n\n'\r\nActivityId: a76408d...e08cef"
}

我做错了什么?

最佳答案

您似乎滥用了 Rest API。如果您尝试 Querying Offers ,POST uri 应类似于 https://{databaseaccount}.documents.azure.com/offers

如果您尝试 Query Documents (这实际上可能是您想要实现的目标)。 POST uri 应为 https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs

请尝试关注https://msdn.microsoft.com/en-us/library/azure/mt670897.aspx实现Rest API查询文档。

更新

并尝试使用以下方式生成授权 token :

verb: "POST"
resourceType: "docs"
resourceID: "dbs/{db-id}/colls/{coll-id}"
x-ms-date: ...
masterkey: "P8riQ...aMORA=="

我在 DocumentDB REST API with Postman outputs always "Unauthorized" error 的答案中使用了代码片段,

getAuthorizationTokenUsingMasterKey("POST", "docs", "dbs/testdb/colls/offer", headers, "{key}"));

生成授权 token 。在 PostMan 上运行良好: enter image description here

关于rest - 文档数据库 : Can't access documents in my collection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39793272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com