繁体   English   中英

用于更新 Microsoft Planner 任务的 Microsoft Graph REST API?

[英]Microsoft Graph REST API to UPDATE Microsoft Planner Tasks?

我认为这可能是一个简单的引用转义问题,但无法弄清楚。

我正在尝试使用带有 REST API 的 CURL 更新 microsoft planner 任务。 我可以毫无问题地创建任务(从名为 FileMaker 的自定义应用程序到使用 Microsoft Graph API 的 Microsoft Planner),但是当我尝试更新计划程序任务时,我收到错误消息“必须为此类指定 If-Match 标头”要求。” 但是我包含了 If-Match 标头,只是可能没有正确输入它。

URL 是:“https://graph.microsoft.com/v1.0/planner/tasks/” & $microsoftplannerTaskID

我在 FileMaker 中输入的 CURLOPTIONS 是...

"-X PATCH " & " -H "Authorization: Bearer " & $$userToken & """ & " -H "Content-Type: application/json"" & " -H "If-Match:" & $microsoftPlannerTasketag & """ & " -d @$PlannerTaskDetails"

最终看起来像这样…… -X PATCH -H "Authorization: Bearer wEXu<>k_QQY" -H "Content-Type: application/json" -H "If-Match: W/"JzEtVGFzayAgQEBAQEBAQBAQEBARCc="" -d @$PlannerTaskDetails

当我最初创建任务时,响应显示... "@odata.etag":"W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc="" 我在上面的 cURL 标头中使用了它。 但是……我正在剥离 W/ 和引号。 W/ 意味着它是一个“弱”,我假设我们没有将它包含在 PATCH 标头中,但我确实尝试添加它但没有成功。

这是微软的 UPDATE PLANNERTASK 参考…… https://docs.microsoft.com/en-us/graph/api/plannertask-update?view=graph-rest-1.0&tabs=http

我可以毫无问题地使用 POSTMAN 更新任务,但我不知道它们在发送请求时的标头是什么样的。

我可以让它在 Postman 中工作,在那里我已经为 Plan ETag 变量输入了这个...... W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc="

我注意到邮递员的标题显示 etag 是 W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc="

正文返回为 "@odata.etag": "W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc="",

我的 curloption 变量一定是一个简单的语法问题,但我无法弄清楚。

我还尝试删除 If-Match 标头中的 W/,所以它看起来像这样: -H "If-Match: "JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc=""

以及 If-Match 标头中的额外引号,因此看起来像这样: -H "If-Match: JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc="

所有这些都会导致相同的“if-match”错误。

一件有趣的事情……如果我将 If-Match 更改为在引号前包含一个斜杠

-H "If-Match: "JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc=""

我在 Filemaker 的脚本调试器中收到错误 10“请求的数据丢失”,并且从 url 语句插入没有响应。 有道理,因为它把这个读作“if-match:”

同样的事情,如果我将 W/ 添加回 -H "If-Match: W/"JzEtVGFzayAgQEBAQEBAQEBAQEBAQEBARCc="" 也会给我错误 10

如果您有任何想法,我将非常感谢您的帮助!!

尝试这个:

"-X PATCH " & 
"-H " & quote("Authorization: Bearer " & $$userToken) & 
"-H " & quote("Content-Type: application/json") &
"-H " & quote("If-Match: W/" & quote($microsoftPlannerTasketag)) &
"-d @$PlannerTaskDetails"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM