小编zam*_*4ik的帖子

错误:此类型的 oauth 令牌必须存在 ExchangeImpersonation SOAP 标头

我正在尝试将 Exchange Web 服务 (EWS) 与应用程序和 OAuth2 身份验证结合使用。

\n\n

我做了什么:

\n\n
    \n
  • 在 Azure 门户应用程序上注册,授予所有必需的权限(甚至full_access_as_app对于 Exchange);作为管理员接受这些权限;
  • \n
  • 准备正确的 OAuth2 Bearer 令牌(具有范围https://outlook.office365.com/.default);
  • \n
  • 使用 SOAP UI 准备 SOAP 请求。作为此请求的基础,我使用以下一个: https: //learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/getattachment-operation。此外,我还添加了带有不记名令牌的 HTTP 授权标头、带有目标邮箱的 X-AnchorMailbox。
  • \n
\n\n

结果我得到这个:“这种类型的 OAuth 令牌必须存在 ExchangeImpersonation SOAP 标头”。我不明白我应该做什么来解决它。

\n\n

即使尝试使用与上面相同的邮箱地址的 ExchangeImpersonate 和 SmtpAddress,但这样我会收到另一个错误“找不到邮箱”。但邮箱是!(在多个邮箱上测试)。

\n\n

我的问题是:我对 EWS 做错了什么?

\n\n

要求:

\n\n
POST\xc2\xa0https://outlook.office365.com/ews/Exchange.asmx\nAuthorization:\xc2\xa0Bearer\xc2\xa0<token>\nX-AnchorMailbox:\xc2\xa0mailbox@something.onmicrosoft.com\n\n\n<?xml version="1.0" encoding="utf-8"?>\n<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\nxmlns:xsd="http://www.w3.org/2001/XMLSchema"\nxmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"\nxmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">\n\xc2\xa0\xc2\xa0<soap:Header>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<t:RequestServerVersion Version="Exchange2016"/>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<t:ExchangeImpersonation>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<t:ConnectingSID>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<t:PrimarySmtpAddress>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0mailbox@something.onmicrosoft.com\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0</t:PrimarySmtpAddress>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0</t:ConnectingSID>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0</t:ExchangeImpersonation>\n\xc2\xa0\xc2\xa0</soap:Header>\n\xc2\xa0\xc2\xa0<soap:Body>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<GetAttachment xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<AttachmentShape/>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<AttachmentIds>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0<t:AttachmentId Id="AAMkADAwNzdjNTg3LTc4M2ItNDE0Yi05MTk4LTQxZDBlYTc1NmMxZgBGAAAAAAAiixtLGariQY7rf5pAKRZZBwBVk8babsuEQ4s2Znfj9fB5AAAAAAEMAABVk8babsuEQ4s2Znfj9fB5AADq3B14AAABEgAQAKZOAcjZCBxHpqvY6XmXp5w="/>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0</AttachmentIds>\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0</GetAttachment>\n\xc2\xa0\xc2\xa0</soap:Body>\n</soap:Envelope>\n
Run Code Online (Sandbox Code Playgroud)\n\n

回复:

\n\n
ErrorNonExistentMailbox\xc2\xa0The SMTP address has no mailbox associated with it.\n
Run Code Online (Sandbox Code Playgroud)\n

exchangewebservices oauth-2.0

5
推荐指数
2
解决办法
7353
查看次数

SyncStateNotFound 错误:如何修复或避免?

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

{
    "error" :
    {
        "code" : "SyncStateNotFound",
        "innerError" :
        {
            "date" : "2018-06-01T06:31:24",
            "request-id" : "47e918a9-ce5b-42b4-8a86-12b96c93121a"
        },
        "message" : "The sync state generation is not found; generation=605;[highest=841][841][839][840]."
    }
}
Run Code Online (Sandbox Code Playgroud)

我无法为您提供重现步骤,因为我不知道如何重现它。生产环境有时会出现这种情况。

所以我有一些问题:

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

microsoft-graph-api

3
推荐指数
1
解决办法
2643
查看次数

Sharepoint REST API 和 Microsoft Graph Sharepoint API 之间的差异

我想与 Office365 Sharepoint 网站进行交互,因此我尝试为此选择正确的 API。有不同的 API 可用于使用 Sharepoint,这对我来说很有用:Sharepoint REST API 和 Microsoft Graph API for Sharepoint。我应该选择哪一个?它们之间的功能有什么区别吗?

我到底想要做什么:从 Office365 下载/上传到 Office 365 网站集、网站、列表、文件夹、项目、文档;保存来自 Sharepoint 站点的元数据和设置;保存历史记录。

是否可以?如果可以的话,我可以通过什么方式来做呢?

sharepoint office365 microsoft-graph-sites microsoft-graph-api

3
推荐指数
1
解决办法
4093
查看次数