Dynamics 365-现场服务:范围“ Odata.FullAccess”不存在

问题描述

案例:通过通用数据服务OData在Dynamics 365现场服务中的CRUD工作订单

  1. 我正在尝试访问Dynamics 365现场服务的字段。

我使用 Python Flask 来构建Web应用程序

  1. 我需要对工作单进行CRUD:https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/msdyn_workorder?view=dynamics-ce-odata-9

  2. 我正在使用多租户服务器到服务器身份验证机制:https://docs.microsoft.com/en-us/powerapps/developer/common-data-service/use-multi-tenant-server-server-authentication

  3. 我已经在Azure上设置了应用注册https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app

  4. 我已经配置了多个权限:

  • Odata.FullAccess
  • AX.FullAccess
  • CustomService.FullAccess
  • User.Read
  • User.ReadBasic.All

Azure App Registration : Configured permissions

  1. 我使用Microsoft提供的代码模板来构建与Active Directory和Dynamics 365交互的Web应用程序

    https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-web-app-call-api-overview

错误消息

Login Failure

invalid_scope
    The provided value for the input parameter 'scope' is not valid. 
    The scope 'Odata.FullAccess User.ReadBasic.All offline_access openid profile' 
    does not exist.

你有什么主意吗?

非常感谢您花时间在此问题上投入

解决方法

基于Grant your application rights to access Common Data Service data,您需要选择 Access Dynamics 365作为组织用户

enter image description here

它在Dynamics CRM中,而不在Dynamics ERP中。

enter image description here

Odata.FullAccess是Dynamics ERP的权限,对您的场景无效。