使用测试版Microsoft Graph API,使用包含URL中的#的外部引用更新任务详细信息会导致错误

时间:2016-07-25 12:37:38

标签: office365 microsoft-graph

我正在使用测试版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"
}
}
}

我已经向微软提出这个问题,并建议他们也发布在这里。

非常感谢

特里

2 个答案:

答案 0 :(得分:0)

这是我们没有处理的案例。谢谢你指出来!我们将进行修复,并在可用时提供更新。

答案 1 :(得分:0)

似乎API中存在错误。我已经用MS打开了一个案例,因为我在更新详细信息字段时得到了相同的结果。

这是我收到的错误:

  

获取:{"错误":{"代码":"","消息":"请求是无效。"," innerError":{" request-id":" 4a1ea6d4-3a0c-47cf-92d2-577aaa9da253"," date& #34;:" 2016-12-29T15:39:09" }}

你是否一直有这个问题?

我会在收到回复后立即更新。