当前位置: 首页 > 知识库问答 >
问题:

Office 365与Outlook OAuth2 offline_access与refresh_token请求的不一致性

殷承恩
2023-03-14

我正在开发一个web应用程序,该应用程序应该访问联系人和其他信息的用户与他们的Outlook或Office365帐户,我有一些问题与Office365帐户的离线访问。

在最初的身份验证后,代码工作正常,我能够访问Outlook和Office365帐户所需的所有内容。

不一致在初始访问令牌过期后出现。对于Outlook帐户,我总是可以刷新访问令牌,而对于Office365帐户,完全相同的代码以“400 Bad Request”错误失败。

当刷新访问令牌时,感觉应该为Office 365账户做一些不同的事情,但我不知道是什么....我甚至不知道如何判断用户是否使用了Otlook和Office365帐户,我可以稍后再解决这个问题。

感谢你的帮助!谢了!

共有1个答案

金瑞
2023-03-14

这很奇怪,但是问题的解决方案是确保刷新令牌请求中使用的redirect_url参数与注册的重定向url(包括主机名)完全匹配。

令人惊讶的是,这只适用于Office365帐户和刷新令牌请求。看起来Outlook和Office365帐户的所有其他API都不关心提供的重定向URL,而是使用为应用程序注册的任何内容。

 类似资料:
  • 为什么SWAGGER可以正确请求,但是使用APIPOST没办法正确请求。 我从SWAGGER和APIPOST分别获得验证码,后端的控制台也都打印出了随机生成的字符。 但是当我再分别来连接登录的接口的时候,本从SWAGGER中获取的验证码在SWAGGER的登录验证中是验证码正确的,但是使用从APIPOST中获取的验证码显示是验证码错误。而且从APIPOST中进行登录的使用SWAGGER和APIPOS

  • 编写一个程序,创建一个协调文件——一个索引,告诉你每个单词出现在文件的哪一行。调用函数concord,并接受输入文件名作为参数。将输出写入名为concord的文件。txt。如果一个单词出现在多行中,则一致性将显示包含该单词的所有行。提示:使用由每个单词组成的字典来解决这个问题。 输入文件包含: 生产: L08-8)(5分)与上述代码相同,但在打印时应对索引中的单词进行排序。 到目前为止,我已经知道

  • 问题内容: 我在客户端使用Java-http-client库和Apache Transport,在服务器端使用Rails。有时会出现如下所示的获取错误: 我应该怎么做才能避免这种情况? 问题答案: 我有一个类似的错误,因为我使用了CountingInputStreamEntity这是一个不可重复的http客户端。解决方案是使用BufferedHttpEntity,它将不可重复的HTTP客户端转换为

  • 问题内容: 我在使用OAuth编写的应用程序中使用了许多HTTP请求。目前,我以相同的方式发送GET和POST请求: 这工作正常。我成功地发布和获取。但是,我担心我没有正确执行POST。我需要在上面的代码中包含以下if语句吗? 如果是这样,为什么?有什么不同?我将不胜感激任何反馈。 谢谢! 问题答案: 内容类型必须与的 实际 格式匹配。仅当内容类型实际经过url编码时,才需要内容类型。例如,您对P

  • 问题内容: 我正在尝试使用Python中的pygame为应用程序制定简单的控件。我已经掌握了基础知识,但是碰到了奇怪的墙:我正在使用箭头键来控制角色。如果我按住一个箭头键,然后按住另一个箭头键(以对角线方向移动),则角色将按预期方式移动。但是,如果我释放了所按下的 第二个 键(同时仍然按住第 一个 键),即使我仍然按住 第一个 键,角色也会停止移动。这是我的简单运动代码: 现在,我自然对此感到非常