如何将 Sitecore API 键与检索项目结合使用

How to use Sitecore API key in conjunction with retrieving an item

我正在尝试使用 Postman:

向我们的 Sitecore9 实例发出请求

方法:

POST

URL:

https://{{sitecorehost}}/sitecore/api/ssc/auth/login

Headers:

Content-Type:application/json

Body:

{
    "domain": "sitecore",
    "username": "{{sitecoreusername}}",
    "password": "{{sitecorepassword}}"
}

Postman 这个 returns 一个 403 中,尽管我可以使用 [=20] 中提供的 URL 轻松登录到 Sitecore 实例=] 环境变量。

站点管理员向我提供了一个 apikey,但 the authentication documentation 似乎没有指定应该如何使用它,或者我是否需要将它与身份验证值一起传递。

documentation which does describe using an apikey also describes retrieving an item using it's GUID 但是当我在 Postman 中这样请求时:

方法:

GET

URL:

https://{{sitecorehost}}/sitecore/api/ssc/aggregate/content/Items('{5AB4C9A0-5889-4F50-9D7F-D960A1015FA7}')?sc_apikey={{sitecoreapikey}}

Headers:

Content-Type:application/json

我得到的只是一个 500 Internal Server Error,在响应的 body 中有这个:

"message": "Object reference not set to an instance of an object.",

Sitecore 中有不同类型的 API 键, 对于 Sitecore 9.0,您需要从模板 /sitecore/templates/System/Services/OData Item API Key 而不是 "API Key" 创建一个“OData Item API Key”在下面的核心数据库 /sitecore/system/Settings/Services/API Keys/

另外你需要在你的 API key 中填写 Database,你可以使用 value web 这可能是您的问题,如果您将其留空,您会在 Sitecore 9.0

中收到错误 "Object reference not set to an instance of an object."

对于 AllowedControllers 你可以使用值 *

对于使用 Postman 登录, 登录后你会得到一个 cookie,你需要在你的 getitem 请求中使用它。 你可以 Download following Postman tool export file 作为例子。