我在 https://apps.dev.microsoft.com 上创建了一个应用程序。
该应用程序具有以下应用权限:
Calendars.Read (仅管理员)
Calendars.ReadWrite (仅管理员)
User.Read.All (仅管理员)
以下是我成功订阅另一个租户中另一个用户的通知所使用的唯一步骤,具体描述可参见此处
管理员认证
随后通过此URL成功授予了管理员同意。
https://login.microsoftonline.com/common/adminconsent?client_id=bbb35336-faee-4c10-84b4-34136634db41&state=1234&redirect_uri=https%3A%2F%2Fdashmeetings.com%2Fmicrosoft%2Foauth
获取访问令牌
然后从中获取了一个访问令牌。
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
带有标题
Content-Type=application/x-www-form-urlencoded
使用{tenant}
代表在回调URL中返回的tenant
值,
并且使用键值对表示的body。
grant_type=client_credentials
client_id=bbb35336-faee-4c10-84b4-34136634db41
client_secret=xxx
scope=https://graph.microsoft.com/.default
这会返回一个访问令牌,但不会返回刷新令牌。
我认为这可能是因为没有请求offline_access
。
如何获取刷新令牌?