gpt4 book ai didi

ServiceNow:通过 REST API 设置加密字段

转载 作者:行者123 更新时间:2023-12-01 14:30:15 28 4
gpt4 key购买 nike

我正在尝试执行 PUT 表 rest 端点,如中所述:

https://developer.servicenow.com/app.do#!/rest_api_doc?v=jakarta&id=r_TableAPI-PUT

这样我就可以设置加密字段的值。如文档中所述,我将参数“sysparm_input_display_value”设置为 true,但它不会将值保留到字段中。我的 API 用户确实有一个具有加密上下文的角色。但是,您如何在提交请求时为您的 API 用户选择使用哪个加密上下文呢?如果您的用户有多个加密上下文角色,API 如何确定使用哪一个来加密字段值?

文档指出:

“要设置加密字段的值,必须将此参数 (sysparm_input_display_value) 设置为 true。如果此参数未设置为 true,则不会保存提交给加密字段的值。此外,请求用户在提交请求之前必须具有适当的加密上下文。"

您的用户(您用来向 API 提交请求的用户)如何获得“适当的加密上下文”?在 UI 中,您可以在加密上下文下拉列表中进行选择,但是如何为 API 提交执行此操作?

我看到一些帖子指向 GlideRecord/GlideEncryptor 脚本,您可以在脚本世界中获取和设置 contextID,但这些脚本方法对我没有帮助,因为我从 .NET 控制台应用程序提交 API 请求.

我错过了什么?谢谢!

最佳答案

我在 Servicenow 中设置加密时遇到一些问题。在我的脑海里,我有几个建议你可以试试:

  1. 不使用 TABLE API,而是尝试使用脚本化 REST API 并使用 "GlideSession.get().getEncryptionContext().setCurrent(encryptionID);" 设置加密上下文
  2. 如果脚本化 REST API 不是一个选项,您可以在 onInsert 业务规则中设置加密上下文,并在业务规则条件中设置一个条件,例如 gs.getUserID()==="<SYS_ID OF YOUR REST USER>"然后在业务规则脚本中,您可以设置加密上下文。

enter image description here

附言我没有测试代码,请自行验证:)

关于ServiceNow:通过 REST API 设置加密字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48232893/

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