【问题标题】:The provided value for the input value scope is not valid for OnlineMeeting.ReadWrite为输入值范围提供的值对 OnlineMeeting.ReadWrite 无效
【发布时间】:2023-02-01 17:36:33
【问题描述】:

我正在尝试代表用户创建会议,因为我正在尝试获取代码。我已经在 Azure 上注册了该应用程序。还生成了应用程序(客户端)ID 我还在 API 中添加了所需的权限。但是,当我访问此页面时,该页面要求提供电子邮件 ID,但是一旦用户填写了电子邮件 ID,它就会显示输入值范围提供的值对重定向 URL 中的 OnlineMeeting.ReadWrite 无效。

请指导我知道我在这里缺少什么。

编辑 1:正如@Rukmini 所建议的,我尝试了这个,这里是相关的细节。

要获取我正在构建 url 的代码,如下图

当我通过 OnlineMeetings.ReadWrite 范围时,这不起作用。但是当我经过https://graph.microsoft.com/.default作为范围,它可以工作,我能够验证并生成代码。然后我可以使用该代码获取访问令牌,如下图所示。但是使用此访问令牌我无法创建会议,因为它没有本文档中所述的 OnlineMeetings.ReadWrite 范围 **https://learn.microsoft.com/en-us/graph/api/application-post-onlinemeetings?view=graph-rest-1.0&tabs=http**[![enter此处的图像描述]3]3

让我知道如何为 OnlineMeetings.ReadWrite 范围生成代码和访问令牌,以便我可以代表用户创建会议。谢谢

【问题讨论】:

  • 您能否确认您使用的是哪种授权类型?您是否尝试使用https://graph.microsoft.com/.default 作为范围?
  • @Rukmini 我已经用相关信息更新了问题描述,请检查并让我知道我能做什么。
  • 为了生成代码,我使用了这个 Enpoint https://login.microsoftonline.com/TenantID/oauth2/authorize? &client_id=ClientID &response_type=code &redirect_uri=redirecturi &response_mode=query &scope=OnlineMeetings.ReadWrite &state=12345
  • 生成访问令牌,如this,使用该访问令牌,我可以创建在线会议successfully
  • 我看到你正在传递 TenantID 我应该在这个地方使用什么。我已经在 url 中添加了所有参数,但问题仍然存在我得到 thisthis 是我用来进行身份验证的 url

标签: azure microsoft-graph-api microsoft-live-meeting


【解决方案1】:

我尝试在我的环境中重现相同的内容并成功获得如下结果:

我创建了一个 Azure AD 多租户应用程序:

我授予管理员同意API权限如下所示:

我生成了使用以下端点的代码并通过浏览器授权:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
&client_id=ClientID
&response_type=code
&redirect_uri=https://jwt.ms
&response_mode=query
&scope=OnlineMeetings.ReadWrite
&state=12345

现在,我生成了访问令牌通过使用以下参数:

https://login.microsoftonline.com/common/oauth2/v2.0/token

client_id:ClientID
client_secret:ClientSecret
scope:OnlineMeetings.ReadWrite
grant_type:authorization_code
redirect_uri:https://jwt.ms
code:code

使用jwt.ms解码访问令牌并检查范围是否是OnlineMeetings.ReadWrite:

我可以使用以下查询成功创建在线会议:

https://graph.microsoft.com/v1.0/me/onlineMeetings
Content-Type: application/json

{
"startDateTime":"2023-01-12T14:30:34.2444915-07:00",
"endDateTime":"2023-02-12T15:00:34.2464912-07:00",
"subject":"User Token Meeting"
}

【讨论】:

  • 我看到你正在传递 TenantID 我应该在这个地方使用什么。我已经在 url 中添加了所有参数,但问题仍然存在我得到了这个,这是我用来进行身份验证的 url
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 2021-06-03
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-12-01
相关资源
最近更新 更多