我无法使用Microsoft Graph创建或更新包含超链接字段的SharePoint Online listitem
. 如果我从API调用的主体中删除超链接字段,我可以创建或更新项目到同一列表 .
为了更新,我发送一个PATCH请求:
/v1.0/sites/<site>/list/<listid>/items/<item>/fields
使用以下 Headers :
"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"
}
}
}
值得注意的是,只要json正文中没有超链接字段,我就可以使用精确的 Headers 和目标URL更新列表项中的其他字段 .
我发送的格式是我在 GET
时收到URL字段的确切格式 . 有没有人知道将URL字段发送回SharePoint的适当格式?
更新1/8/2018
我在2017年11月11日向Microsoft的Graph Github发布了同样的问题,他们还没有提供答案 . 我非正式地听说过目前不支持具有嵌套结构(例如超链接,用户,分类)的列表项上的REST操作 . 以下是该问题的链接,以防他们稍后回答:https://github.com/microsoftgraph/microsoft-graph-docs/issues/1965
我确实有一个我正在使用的超链接字段的解决方法 . 我更改了SharePoint列表上的列,该列以前是指向“单行文本”字段的超链接 . 在单行文本字段中输入超链接时,在浏览器中查看事件时,它将显示为带下划线和可单击的链接 . 如果您有一个像超链接字段类型一样长而丑陋的URL,则不能使用替代文本,但它有效!
1 回答
看起来身体的值相反 . 您在“说明”字段中有URL,在“URL”字段中有“说明” . 尝试: