大家好。
我正在尝试创建一个REST Web服务来访问MS Graph Calendar API。在开始编写代码之前,我想先通过邮递员对此进行测试。经过下面的研究,这是我到目前为止所达到的。
https://www.getpostman.com/oauth2/callback
。虽然,我认为我不会使用它,因为我需要的是无缝登录。我不想为我生成浏览器来提供我的Microsoft帐户进行授权和身份验证。阅读时,有许多授权类型供您授权和认证以使用MS Graph API。一个是 授权代码授予流程 ,它会生成一个界面供您登录Microsoft或AAD帐户。如上所述,我需要无缝登录,因此我尝试了Client Credentials Grant Type
和Resource Owner Grant Type
。
假设我已经准备就绪,我尝试使用此URL获取访问令牌:
https://login.microsoftonline.com/substitute-with-tenant-directory-id/oauth2/v2.0/token
我能够使用资源所有者授予类型获得访问令牌。下面是屏幕截图。
接下来,我尝试访问所需的特定API。这是网址:
我还尝试用“ users / substitute-with-user-id”替换URL中的“ me”部分,但不幸的是我遇到了错误。下面是屏幕截图。
我被困住了,因为响应中显示“未知错误”。有人知道我在这里想念的吗?
答案 0 :(得分:0)
它是委派的权限令牌,您只能获取当前登录用户的日历事件。如果要加载其他用户的事件,则可以使用仅应用程序令牌。请参阅https://developer.microsoft.com/en-us/graph/docs/concepts/auth_v2_service以了解如何获取仅应用令牌。
答案 1 :(得分:0)
我最近通过遵循This Blog上给出的步骤通过邮递员调用了Graph API
而且我认为问题在于您没有在身体上传递Resource
。尝试将Resource
传递给值为https://graph.microsoft.com
的正文,希望这可以解决您的问题。
答案 2 :(得分:0)
以下对我有用的东西:
1)在“授权”标签中创建访问令牌,将类型选择为OAuth 2.0,然后单击“获取新的访问令牌”。
2)输入如下详细信息:
验证URL:https://login.windows.net/common/oauth2/authorize?resource=https://outlook.office.com
访问令牌URL:https://login.microsoftonline.com/common/oauth2/token
客户ID:您的应用ID
秘密:应用注册时设置的秘密。
3)它将进行身份验证并创建令牌。
4)选择“将令牌添加到页眉”,然后单击“使用令牌”按钮。
5)在“正文”标签中,选择x-www-form。
6)在“标题”标签中,其外观应如下所示:
Content-Type:应用程序/ x-www-form-urlencoded
授权:不记名(您的令牌自动生成)。
7)执行POST操作。