如何阻止 DevOps REST API 将传入的 JSON 有效负载用双引号引起来?

How do I stop the DevOps REST API from wrapping an incoming JSON payload in double quotes?

我正在尝试使用 ADO REST API 将文件附加到工作项。问题似乎是传入的字符串在过程中的某个时刻被双引号括起来。这可以在任何附加的 .txt 文件(可以正常打开)中看到,并呈现无法打开的 .png 和 .jpg 文件。我要附加的内容是通过 Oracle Integration Cloud 中的连接器从 Outlook 中提取的附件“内容字节”,我在发送到 ADO 之前在 OIC 中进行了 64 位解码。

这是我用来在 ADO 中创建附件的调用(媒体类型是 application/json-patch+json):

https://dev.azure.com/{org}/{project}/_apis/wit/attachments?api-version=6.0

"[]"

这是我用来进行下一次调用的响应(媒体类型是 JSON):

{
  "id" : "",
  "url" : ""
}

这是下一个将附件与特定工作项相关联的调用(媒体类型为 application/json-patch+json):

https://dev.azure.com/{org}/{project}/_apis/wit/workitems/{id}?api-version=6.0

{
  "op" : "add",
  "path" : "/relations/-",
  "value" : {
    "rel" : "AttachedFile",
    "url" : ""
  }
} 

有没有 html header 或者我可以用来防止这种情况发生的方法?

谢谢!

太棒了,事实证明 Microsoft 的文档有些误导,并暗示 ADO 期望使用 JSON 有效负载来创建附件,而实际上它只期望二进制内容。一旦我发现了这一点,我就在 outlook 的“contentBytes”上使用了 OIC 中的函数“decodeBase64ToReference”。然后我重新配置了我的 OIC 连接器以发送二进制有效负载并相应地映射所有内容。工作得很好。

https://i.stack.imgur.com/92tPs.png

https://i.stack.imgur.com/WSKnt.png