【发布时间】:2016-07-25 12:37:38
【问题描述】:
我正在使用 beta Microsoft Graph API,在 Planner 中创建任务。
作为创建任务的一部分,我们使用任务详细信息通过链接更新任务,使用 externalReferenceCollection 参见http://graph.microsoft.io/en-us/docs/api-reference/beta/resources/externalreferencecollection
和http://graph.microsoft.io/en-us/docs/api-reference/beta/api/taskdetails_update,文档特别指出:
"在这种情况下,客户端必须提供基于HTTP/HTTPS协议的有效URL作为属性,其值必须是externalReference对象。基于OData,Open Types中的属性名称不能包含以下字符: ., :, % 所以需要对它们进行编码。” 我确实对指定的值进行了编码,但 URL 中的 # 会导致错误。
使用 REST URI 更新任务详细信息的示例是:
https://graph.microsoft.com/beta/tasks/S1VywG4fe0q2qCoMRmjYYpYAJh9q/details
内容主体 JSON 为:
{"description": "My Task Title description 1", "previewType": "description" , "references": {
"https%3A//dashboard-me%2Ec9users%2Eio/#/edit/342f13159eaf1a":
{
"@odata.type": "#microsoft.graph.externalReference",
"alias": "Edit link",
"type": "Other"
} }}
如上所示,“https%3A//dashboard-me%2Ec9users%2Eio/#/edit/342f13159eaf1a”项在 URL 中包含 #,删除 # 允许更新工作,当 #是否更新失败并出现 BadRequest (400) 和以下内容:
{
"error": {
"code": "",
"message": "The request is invalid.",
"innerError": {
"request-id": "65d98658-16a2-4525-850e-6a0aee382c97",
"date": "2016-07-23T10:44:44"
}
}
}
我已经向 Microsoft 提出了这个问题,他们建议我也在这里发帖。
非常感谢
特里
【问题讨论】:
标签: office365 microsoft-graph-api