我一直在使用Microsoft Graph planner API将以前创建的计划程序(有点像模板)推送到新创建的计划程序(该功能正在运行但我无法等待它在谁知道何时知道),
所以我创建了简单的Web应用程序(Nodejs),只是将模板推送到新的计划程序 .
目前流程是计划员创建的 - >桶创建 - >任务创建 - >获取任务详细信息(以确保任务存在) - >更新任务详细信息(复选框) .
但是在创建它之后立即请求“获取任务详细信息”会导致404错误
{error:{code:“”,message:“找不到请求的项目 . ”,innerError:{“request-id”:“...”,date:“...”}}}
我最初跳过了“获取任务详细信息”,但这经常导致412“如果找不到匹配错误”
Web应用程序WAS正在工作(实际上几个月没有推动任何更改) .
目前,在几分钟后尝试“获取任务细节”的工作完全正常 .
我只能假设现在需要更长时间才能创建导致此错误的任务,但我不能让用户闲置几分钟才能完成此操作 .
任何想法将不胜感激 .
谢谢 .
1 回答
操作执行是异步的,有时操作可能需要一些时间才能完成 . 您需要读取任务详细信息才能更新它,因为PATCH操作要求客户端的最后一个已知etag与If-Match标头一起传入 . 管道中有一些不同的改进,以改善服务方面的这种情况,这应该会自动提高可靠性 .
您已经提到过您的方案是从模板计划创建新计划,这应该需要创建许多任务 . 根据您的描述,我假设您创建一个任务,然后在继续下一个任务之前更新该任务的详细信息 . 如果更改顺序以便在更新任何详细信息之前创建所有任务,则在获得详细信息更新之前,服务将有更多时间完成异步操作 . 您仍然需要重试读取才能确定 .
我知道这不是一个真正的解决方案,但这种方法应该让用户体验更好一点,直到服务行为改善 .