【发布时间】:2018-04-24 05:05:38
【问题描述】:
我无法使用 Microsoft Graph 创建或更新包含超链接字段的 SharePoint Online listitem。如果我从 API 调用的正文中删除超链接字段,我可以创建或更新项目到同一个列表。
为了更新,我发送 PATCH 请求到:
/v1.0/sites/<site>/list/<listid>/items/<item>/fields
带有以下标题:
"Authorization" : "Bearer <token>"
"accept" :"application/json;odata.metadata=full;odata.streaming=true"
这是正文:
{
"myUrl": {
"Description": "http://www.google.com",
"Url": "http://www.google.com"
}
}
我将收到以下错误消息作为响应:
{
"error": {
"code": "invalidRequest",
"message": "The request is malformed or incorrect.",
"innerError": {
"request-id": "cfe30f57-31ba-4341-89e9-2c1bd4e15539",
"date": "2017-11-10T21:55:30"
}
}
}
值得注意的是,我可以使用确切的标题和目标 URL 更新列表项中的其他字段,只要 json 正文中没有超链接字段。
我发送的格式是我在执行GET 时收到的 URL 字段的确切格式。有谁知道将 URL 字段发送回 SharePoint 的适当格式?
2018 年 1 月 8 日更新
我于 2017 年 11 月 11 日在 Microsoft 的 Graph Github 上发布了同样的问题,但他们尚未提供答案。我非正式地听说,目前不支持对具有嵌套结构(例如超链接、用户、分类)的列表项的 REST 操作。这是问题的链接,以防他们稍后回答:https://github.com/microsoftgraph/microsoft-graph-docs/issues/1965
对于我正在使用的超链接字段,我确实有一个解决方法。我更改了 SharePoint 列表上的列,该列以前是指向“单行文本”字段的超链接。在单行文本字段中输入超链接时,当您在浏览器中查看事件时,它会显示为带下划线且可单击的链接。如果您的 URL 像超链接字段类型那样又长又丑,则不能使用替代文本,但它可以使用!
【问题讨论】:
-
能否添加完整的 HTTP 请求,包括标头?
-
嗨,马克,感谢您的回复。我已经更新了问题以包含更多支持细节和请求的标头。
标签: microsoft-graph-api sharepoint-online