首页 文章

使用超链接字段创建或更新SharePoint ListItem

提问于
浏览
2

我无法使用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 回答

  • 0

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

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

相关问题