我想使用 ServiceNow 的 REST API 将我的应用程序与 ServiceNow 集成。为此,我的应用程序需要使用 OAuth 2 获得授权。我在 ServiceNow 的 wiki 中搜索了授权和令牌端点,但找不到任何端点。
任何人都可以在这里发布这些网址吗?
我想使用 ServiceNow 的 REST API 将我的应用程序与 ServiceNow 集成。为此,我的应用程序需要使用 OAuth 2 获得授权。我在 ServiceNow 的 wiki 中搜索了授权和令牌端点,但找不到任何端点。
任何人都可以在这里发布这些网址吗?
从 Fuji 版本开始,ServiceNow 支持使用 OAuth 对 REST 端点进行身份验证。首先,如果您尝试集成的 ServiceNow 实例上尚未启用 OAuth 插件,请务必启用它。有关如何执行此操作以及如何设置 OAuth 端点的信息,请查看这些产品文档。
在 ServiceNow 实例的应用程序注册表中创建 OAuth 端点后,您需要生成用于身份验证的令牌。您可以在产品文档中找到用于生成令牌的 curl 示例。查看对生成令牌的请求的响应并获取“访问令牌”。生成令牌的响应应包含类似于以下内容的 JSON 正文:
{"scope":"useraccount","token_type":"Bearer","expires_in":1800,"refresh_token":"w599voG89897rGVDmdp12WA681r9E5948c1CJTPi8g4HGc4NWaz62k6k1K0FMxHW40H8yOO3Hoe","access_token":"F0jh9korTyzd9kaZqZ0SzjKZuS3ut0i4P46Lc52m2JYHiLIcqzFAumpyxshU9mMQ13gJHtxD2fy"}
从响应中,您需要记录“access_token”并将其作为不记名令牌包含在对 ServiceNow REST API 端点的后续请求中。
使用访问令牌对 REST Table API 的示例请求:
curl -H "Accept:application/json" -H "Authorization:Bearer 2wRlsRCT2SYjCCJP91kwo2EFzj5qg4O3I3aC09e0-0hz6Ib3YK7If-LMiNorNuglfqbkL4AfkYC92KYHUCcbpQ" "http://<instance>.service-now.com/api/now/table/incident"
希望有帮助!
似乎 ServiceNow 仅支持password
和refresh_token
授权类型。请看这里。授权和令牌 URL 用于Authorization code
授权类型。