SyncStateNotFound错误:如何解决或避免?

时间:2018-08-20 14:29:50

标签: microsoft-graph

我正在使用Microsoft Graph API增量查询定期下载某些信息(消息,联系人,事件)。但有时我会收到此错误:

/tmp/pear/temp/sqlsrv/shared/xplat.h:30:17: fatal error: sql.h: No such file or directory
 #include <sql.h>
                 ^
compilation terminated.
Makefile:194: recipe for target 'conn.lo' failed
make: *** [conn.lo] Error 1
ERROR: `make' failed
The command '/bin/sh -c pecl install sqlsrv pdo_sqlsrv     && docker-php-ext-enable pdo_sqlsrv' returned a non-zero code: 1

我无法为您提供复制步骤,因为我不知道如何复制。有时会在生产环境中发生。

所以我有一些问题:

  1. Microsoft Graph API中的生成是什么?是否有任何可用的文档?我没有发现互联网上有用的东西。
  2. 为什么增量链接过期?增量链接会随着时间过期或使用增量链接进行某些迭代?我可以将增量链接保存到数据库中吗? 1年使用此增量链接再次进行同步吗?
  3. 如何避免增量链接过期?有生活上的麻烦吗?
  4. 如果遇到此问题,该怎么办?完全重新同步并获取新的增量链接?
  5. 这是错误还是功能?

1 个答案:

答案 0 :(得分:0)

每次同步时,都会生成一个新的同步令牌。我们将当前同步令牌与前两个令牌一起存储。如果我们在服务器端进行同步,但是在将数据传输到客户端时发生某些情况,这样他们就无法获得新的令牌值,这对我们有帮助。在这种情况下,我们可以“回退”到先前的同步令牌,以便客​​户端不必重新同步所有内容。但是,这三个存储的令牌在每次同步时都会发生变化-最旧的令牌会被丢弃,而我们会前进。就您而言,您正在向我们传递一个约有230代历史的增量令牌。该令牌早已消失。

要考虑的另一件事是,一个“无效”的同步令牌将徘徊约90天,在这一点上,我们认为它是陈旧的,向其上倒气并着火(不是真的)。