我无法使用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"
}
}
}
值得注意的是,只要json正文中没有超链接字段,我就可以使用精确的标题和目标网址更新列表项中的其他字段。
我发送的格式是我在执行GET
时收到URL字段的确切格式。有没有人知道将URL字段发送回SharePoint的适当格式?
我在2017年11月11日向微软的Graph Github发布了同样的问题,他们还没有提供答案。我非正式地听说过目前不支持具有嵌套结构(例如超链接,用户,分类)的列表项上的REST操作。以下是该问题的链接,以防他们稍后回答:https://github.com/microsoftgraph/microsoft-graph-docs/issues/1965
我确实有一个我正在使用的超链接字段的解决方法。我更改了SharePoint列表上的列,该列以前是指向&#34;单行文本的超链接&#34;领域。在单行文本字段中输入超链接时,在浏览器中查看事件时,它将显示为带下划线和可单击的链接。如果你有一个像超链接字段类型一样长而丑陋的URL,你就不能使用备用文本,但是它有效!
答案 0 :(得分:0)
看起来身体的值相反。您在“说明”字段中有URL,在“URL”字段中有“说明”。尝试:
{
"myUrl": {
"Description": "google",
"Url": "http://www.google.com"
}
}