使用超链接字段

时间:2017-11-10 21:58:38

标签: microsoft-graph sharepoint-online

我无法使用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的适当格式?

更新1/8/2018

我在2017年11月11日向微软的Graph Github发布了同样的问题,他们还没有提供答案。我非正式地听说过目前不支持具有嵌套结构(例如超链接,用户,分类)的列表项上的REST操作。以下是该问题的链接,以防他们稍后回答:https://github.com/microsoftgraph/microsoft-graph-docs/issues/1965

我确实有一个我正在使用的超链接字段的解决方法。我更改了SharePoint列表上的列,该列以前是指向&#34;单行文本的超链接&#34;领域。在单行文本字段中输入超链接时,在浏览器中查看事件时,它将显示为带下划线和可单击的链接。如果你有一个像超链接字段类型一样长而丑陋的URL,你就不能使用备用文本,但是它有效!

1 个答案:

答案 0 :(得分:0)

看起来身体的值相反。您在“说明”字段中有URL,在“URL”字段中有“说明”。尝试:

{
    "myUrl": {
        "Description": "google",
        "Url": "http://www.google.com"
    }
}