使用 Microsoft Graph API 时重定向 URL 地址不正确

Posted

技术标签:

【中文标题】使用 Microsoft Graph API 时重定向 URL 地址不正确【英文标题】:Incorrect redirect URL address while working with Microsoft Graph API 【发布时间】:2019-12-08 23:13:45 【问题描述】:

我正在开发用于实现电子邮件功能的 Microsoft 图形 API。

源码引用自官方microsoftgraphgithub账号。 我正在按照提到的步骤here 在 this 步骤中,我应该在重定向 URL 地址中获得 code

我想按照步骤中的说明获取以下网址。

https://login.microsoftonline.com/common/oauth2/nativeclient?code=IAQABAAIAAABHh4kmS_aKT5XrjzxRAtHz5S...p7OoAFPmGPqIq-1_bMCAA&session_state=dd64ce71-4424-494b-8818-be9a99ca0798

而不是我得到以下网址

https://login.microsoftonline.com/a1f1e214-xxxx-xxxx-xxxxxx-xxxxxxxx59641/oauth2/v2.0/authorize?response_type=code&client_id=xxxxxxx-1xxxx-xxxx-ad2a-d80d3f51638a&redirect_uri=https%3A%2F%2Flogin.microsoftonline.com%2Fcommon%2Foauth2%2Fnativeclient&scope=Files.ReadWrite%20openid%20User.Read%20Mail.Send%20Mail.ReadWrite

注意:以上步骤在documentation中被高亮显示

这是因为我没有选中文档中步骤 4 Point 8 中提到的 oauth2/nativeclient 旁边的复选框。

任何指导都会有很大帮助

【问题讨论】:

重定向 Uri 应与您在 azure 门户上指定的相同 是的,我试过了。但我没有收到我在问题中提到的任何访问代码 这个问题有什么更新吗? @CaiyiJu :我仍然没有得到你在答案中提到的网址(包含代码的网址),而是我得到的网址包含code&client_id= @E_FreeLancer 您输入您的用户名和密码进行身份验证了吗? 【参考方案1】:

命令行界面在 Azure Active 上打开一个浏览器窗口 目录授权端点。输入您的用户名和密码以 认证。当您通过身份验证时,您将被带到一个 示例应用程序的授权窗口。查看并接受范围 由示例应用程序请求。单击授权上的确定按钮 窗口。

当您获得该网址时,您应该被要求登录。之后,您将获得代码。

步骤:

在 Azure 门户上注册应用程序->获取客户端 ID->转到 Constants.java 类并将 client_id 替换为您的。

运行 PublicClient 类。

使用您的帐户登录,然后您将获得代码。

【讨论】:

以上是关于使用 Microsoft Graph API 时重定向 URL 地址不正确的主要内容,如果未能解决你的问题,请参考以下文章

使用 microsoft graph api 检出 onedrive 文件的状态

如何使用 microsoft graph api 获取 EndRecurrenceDate

获取 Microsoft Graph API 的有效访问令牌

Microsoft Graph REST API 来更新 Microsoft Planner 任务?

使用 Microsoft Graph API 获取修改后的系列事件发生

Microsoft Graph API - 列出用户登录的所有权限/范围