2016-01-23 140 views
0

我在OneNote开发人员博客上问了这个问题, http://blogs.msdn.com/b/onenotedev/archive/2016/01/13/onenote-api-throttling-and-best-practices.aspx - Jorge建议在这里再次提问。


我可以使用
POST ... beta/me /笔记本/笔记本电脑/ {主笔记本电脑}/copynotebook
创建多个笔记本电脑,使用REST API,拨打电话的速度非常快。

使用
POST ...添加页面... beta/me/notes/pages/{template page}/copyToSection
正常工作,并且可以获取pageID。

这一切都按预期工作,直到笔记本电脑的数量在得到什么似乎像一个小数目笔记本可能低于50 这个任何命令来获取pageIDs如 GET ... /测试/ ME /票据后/ sections/{sectionID}/pages?top = 100“
导致出现多个”502 Bad Gateway“响应,偶尔会在循环10-15分钟后等待”200 OK“。

当笔记本计数器到100左右的所有页面调用失败,无论是在我的PHP脚本,提琴手或Microsoft Graph Explorer。删除笔记本返回功能

我知道有一个5000笔记本的限制,但有一个页面API功能的下限笔记本电话继续 上班)。 是否可以只选择笔记本的一个子集来“活跃”以减少API调用的开销?


目前我的解决方法是使用OneDrive API下载或移动OneDrive的笔记本电脑来完成同样的事情 - 还有其他方法吗?OneNote REST API - 如何处理“502错误网关”错误?

+0

你能分享任何成功请求的的correlationID(HTTP标头),所以我们可以查找后续数据,并找到TE 502的根本原因? –

+0

嗨豪尔赫。干得好。 X-CorrelationId:aa2a1068-683b-4fd2-9417-3754e10110f4 – codeye

+0

我刚刚开始在开发应用程序中发出一个简单的3笔记GET请求,发现这个502错误的网关错误,该请求曾多次发挥作用(第一次在时间戳前15分钟的评论)。 将“FavorDataRecency:true”添加到请求标头不做任何事情。 – Velojet

回答

1

如果您的场景涉及在有大量节的情况下调用GET〜/ sections/{id}/pages API,我们当前建议将以下标题添加到您的API请求中。

FavorDataRecency:真

+1

这应该被认为是一个错误。 – Evert

+0

感谢Manoj,增加了** FavorDataRecency:true **修复了这个问题,大于120秒的请求现在在10秒内完成。添加标题有缺点吗?干杯史蒂夫 – codeye

0

1. 就您所知,您在查询的部分下创建了多少页? 2. 每个笔记本还有多少部分(平均您创建)? 3. 还提供这种请求的相关ID(来自响应)与提出此请求的日期,时间和时区。

但是,页数没有限制。

+0

Hi Sharad, 1。我首先查询“主”笔记本中空的部分。 2.我生成的笔记本电脑每次包含7个部分(6个从“主”笔记本复制生成,1个添加患者姓名 - 最后一部分来自第二个笔记本中的“模板页面”,然后重命名为)。 3.我没有收到相关ID,这里是一个典型的响应 HTTP \ /1.1 502网关错误 服务器:Microsoft-IIS \或8.5 X供电,通过:ASP.NET 日期:星期一, 2016年1月25日13:39:25 GMT 内容长度:0 – codeye