Microsoft Graph Api - Post 订阅出现内部服务器错误
Microsoft Graph Api - Post Subscription gives Internal Server Error
我正在尝试通过 https://graph.microsoft.com/v1.0/subscriptions 端点 post 订阅图表 api 的请求。但是,我不断收到此错误:
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: InternalServerError; Reason: Expected 1 response for tenant lookup for tenant id ... but received 0]
我的要求:
{
"changeType": "created,updated",
"notificationUrl": "https://.../notification",
"resource": "communications/callRecords",
"expirationDateTime": "2021-03-24T18:23:45.9356913Z",
"clientState": "secretClientValue"
}
我可以使用我的租户 ID 获取令牌 grant_type = client_credentials(OAuth 2.0 客户端凭据授予流程)。我不明白为什么我的租户在订阅时出错,尽管令牌创建成功。
我究竟做错了什么?请帮忙!
谢谢。
更新:
我的应用程序的权限:
- Calendars.ReadWrite申请
- CallRecords.Read.All申请
- Directory.ReadWrite.All申请
- OnlineMeetings.Read.All申请
已授予所有人管理员许可。
我假设你说“grant_type = client_credentials(OAuth 2.0 客户端凭据授予流程)”你正在使用委派的 CallRecords.Read.All 权限。
如果您阅读此 page,它表示 CallRecord 订阅仅支持应用程序 CallRecords.Read.All 权限。因此,您必须使用应用程序客户端进行身份验证,而不是客户端凭据。
=====更新=====
根据评论我可以猜出可能的问题数量:
由于“免费”Azure 帐户没有团队许可证,有人猜测订阅调用会因某些原因而失败。这可能就是为什么您收到一条奇怪的消息而失败的原因。
另一个设置是您的 Azure 应用程序在“免费”帐户中,订阅是针对另一个租户(例如您的工作租户)的。为此,您需要:
- azure 应用程序设置为多租户
- 工作租户的管理员同意他们的管理员
- 在生成令牌调用中,“myTenantId”必须是工作租户的租户 ID
我正在尝试通过 https://graph.microsoft.com/v1.0/subscriptions 端点 post 订阅图表 api 的请求。但是,我不断收到此错误:
"code": "ExtensionError",
"message": "Operation: Create; Exception: [Status Code: InternalServerError; Reason: Expected 1 response for tenant lookup for tenant id ... but received 0]
我的要求:
{
"changeType": "created,updated",
"notificationUrl": "https://.../notification",
"resource": "communications/callRecords",
"expirationDateTime": "2021-03-24T18:23:45.9356913Z",
"clientState": "secretClientValue"
}
我可以使用我的租户 ID 获取令牌 grant_type = client_credentials(OAuth 2.0 客户端凭据授予流程)。我不明白为什么我的租户在订阅时出错,尽管令牌创建成功。 我究竟做错了什么?请帮忙!
谢谢。
更新: 我的应用程序的权限:
- Calendars.ReadWrite申请
- CallRecords.Read.All申请
- Directory.ReadWrite.All申请
- OnlineMeetings.Read.All申请
已授予所有人管理员许可。
我假设你说“grant_type = client_credentials(OAuth 2.0 客户端凭据授予流程)”你正在使用委派的 CallRecords.Read.All 权限。
如果您阅读此 page,它表示 CallRecord 订阅仅支持应用程序 CallRecords.Read.All 权限。因此,您必须使用应用程序客户端进行身份验证,而不是客户端凭据。
=====更新=====
根据评论我可以猜出可能的问题数量:
由于“免费”Azure 帐户没有团队许可证,有人猜测订阅调用会因某些原因而失败。这可能就是为什么您收到一条奇怪的消息而失败的原因。
另一个设置是您的 Azure 应用程序在“免费”帐户中,订阅是针对另一个租户(例如您的工作租户)的。为此,您需要:
- azure 应用程序设置为多租户
- 工作租户的管理员同意他们的管理员
- 在生成令牌调用中,“myTenantId”必须是工作租户的租户 ID