我正在使用测试版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"
}
}
}
我已经向微软提出这个问题,并建议他们也发布在这里。
非常感谢
特里
答案 0 :(得分:0)
这是我们没有处理的案例。谢谢你指出来!我们将进行修复,并在可用时提供更新。
答案 1 :(得分:0)
似乎API中存在错误。我已经用MS打开了一个案例,因为我在更新详细信息字段时得到了相同的结果。
这是我收到的错误:
获取:{"错误":{"代码":"","消息":"请求是无效。"," innerError":{" request-id":" 4a1ea6d4-3a0c-47cf-92d2-577aaa9da253"," date& #34;:" 2016-12-29T15:39:09" }}
你是否一直有这个问题?
我会在收到回复后立即更新。