标签: dynamics-crm-2016

CRM 2016 oData扩展了集合

我正在尝试从新的REST API中检索多个数据,但我有一个奇怪的问题.如果我在集合上使用$ expand,那么它就不起作用.

请求是:

GET [Oranization URL]/api/data/v8.0/accounts?$expand=contact_customer_accounts HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Run Code Online (Sandbox Code Playgroud)

并回应:

{
"error": {
    "code": "",
    "message": "Expansion of navigation properties isn\u2019t supported on entity collections.",
    "innererror": {
        "message": "Expansion of navigation properties isn\u2019t supported on entity collections.",
        "type": "Microsoft.Crm.CrmHttpException",
        "stacktrace": "   at Microsoft.Crm.Extensibility.OData.CrmODataUtilities.ThrowIfSelectClauseHasNavigationProperty(SelectExpandClause selectExpandClause, Boolean isCalledFromEntitySet)\r\n   at Microsoft.Crm.Extensibility.OData.CrmODataServiceDataProvider.RetrieveEdmEntityCollection(CrmODataExecutionContext context, String entityCollectionName, ODataQueryOptions queryOptions)\r\n   at Microsoft.Crm.Extensibility.OData.EntityController.GetEntitySetInternal(String entitySetName, String castEntityName, CrmODataExecutionContext context, CrmEdmEntityObjectCollection crmEdmEntityObjectCollection, ODataQueryOptions queryOptions)\r\n   at Microsoft.Crm.Extensibility.OData.EntityController.GetEntitySet(String entitySetName)\r\n   at lambda_method(Closure , …
Run Code Online (Sandbox Code Playgroud)

crm odata dynamics-crm-online dynamics-crm-2016 dynamics-crm-webapi

6
推荐指数
1
解决办法
2430
查看次数

具有客户端凭据OAuth流的Dynamics CRM 2016 Online Rest API

我正在尝试使用Dynamics CRM 2016 Online和Azure Active Directory进行身份验证.我能够按照这里的所有步骤:

https://msdn.microsoft.com/en-us/library/mt622431.aspxhttps://msdn.microsoft.com/en-us/library/gg327838.aspx

但这些步骤演示了如何设置用户名认证流程.我想使用客户端凭据流.我在Azure AD中创建了一个新应用程序 - 一个Web应用程序.我有一个客户端ID和一个应用程序密钥,我设置了Dynamics CRM Online的权限.我能够获得访问令牌,但在后续调用中我收到此错误:

HTTP错误401 - 未经授权:访问被拒绝

我错过了一步吗?有人知道某个帖子提供了如何让这个流程运行的详细信息吗?

这是我的代码:

        string clientId = "<client id>";
        string appKey = "<app key>";

        // Get the authority and resource URL at runtime
        AuthenticationParameters ap = AuthenticationParameters.CreateFromResourceUrlAsync(new Uri("https://<org address>/api/data/")).Result;
        String authorityUrl = ap.Authority;
        String resourceUrl = ap.Resource;

        // Authenticate the registered application with Azure Active Directory.
        AuthenticationContext authContext = new AuthenticationContext(authorityUrl);
        ClientCredential clientCredential = new ClientCredential(clientId, appKey);

        AuthenticationResult result = authContext.AcquireToken(resourceUrl, clientCredential);

        HttpClient client …
Run Code Online (Sandbox Code Playgroud)

azure oauth-2.0 dynamics-crm-2016

6
推荐指数
1
解决办法
4569
查看次数

使用ADAL C#作为机密用户/守护程序服务器/服务器到服务器 - 401未经授权

参考未回答的问题:

401-使用REST API动态CRM与Azure AD进行未经授权的身份验证

Dynamics CRM Online 2016 - 守护程序/服务器应用程序Azure AD身份验证错误到Web Api

具有客户端凭据OAuth流的Dynamics CRM 2016 Online Rest API

我需要在天蓝云中的Web服务和Dynamics CRM Online 2016之间进行通信,而无需任何登录屏幕!该服务将有一个REST api,可以触发CRM上的CRUD操作(我也将实现身份验证)

我认为这称为"机密客户端"或"守护程序服务器"或只是"服务器到服务器"

我在Azure AD中正确设置了我的服务("委托权限=在线访问动态作为组织用户",没有其他选项)

我在VS中创建了一个ASP.NET WEB API项目,它在Azure中创建了我的WebService,并在CRM的Azure AD中创建了"应用程序".

我的代码看起来像这样(请忽略EntityType和returnValue):

 public class WolfController : ApiController
  {
    private static readonly string Tenant = "xxxxx.onmicrosoft.com";
    private static readonly string ClientId = "dxxx53-42xx-43bc-b14e-c1e84b62752d";
    private static readonly string Password = "j+t/DXjn4PMVAHSvZGd5sptGxxxxxxxxxr5Ki8KU="; // client secret, valid for one or two years
    private static readonly string ResourceId = "https://tenantname-naospreview.crm.dynamics.com/";


    public static async Task<AuthenticationResult> …
Run Code Online (Sandbox Code Playgroud)

c# azure asp.net-web-api adal dynamics-crm-2016

6
推荐指数
1
解决办法
3375
查看次数

从2011年到2016年升级Dynamics CRM

由于对CRM知之甚少,我们的任务是从CRM 2011中公开数据和其他功能.我们开发了一个RESTful包装器,允许其他开发人员在他们的应用程序中利用它.一些示例端点可能是:

API/v2/Accounts(someguid)
API/v2/Lead/Create {json object}
etc
Run Code Online (Sandbox Code Playgroud)

此应用程序需要升级以支持动态2016.我们启动了2011应用程序,并简单地将配置变量更改为指向2016实例.到目前为止,我们无法做任何事情,因为在第二行之后:

        var context = new XrmServiceContext(_organizationService);

        var crmUser = (from systemUser in context.SystemUserSet
                       where systemUser.DomainName == user.DomainUserName
                       select systemUser).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

我得到认证失败的例外:

在此输入图像描述

当从11升级到16时,这确实是一个已知的身份验证问题,还是我错过了什么?

c# asp.net visual-studio dynamics-crm-2011 dynamics-crm-2016

6
推荐指数
1
解决办法
276
查看次数

如何在Cloud CRM Dynamics 365中安装托管包时发现问题?

我在云CRM Dynamics 365中安装托管包时遇到了问题.由于我无法跟踪问题,因此很头疼.

让我解释一下要点:

  1. 我已false为所有组件设置了可自定义

  2. 我已经在Sandbox模式下注册了插件.我使用插件注册工具获取许可证和其他一些功能.

我试过两种方法.

第一:当我第一次尝试安装时,我从工作流程中获得了未处理状态.

第二:为解决上述问题,我尝试删除许可证处理相关组件.现在我从更新销售订单的插件组件中获取未处理状态.

最糟糕的是我没有在日志文件中收到任何错误消息或错误代码.

最后,这里有几个日志.有人可以提出解决方案吗?

--------------------------------------------------------------------------------------------------------
    AsynchronousProcessingService   Failed to add the item  to the sync item collection for the mailbox : {8CBF53D0-896B-E611-80F2-FC15B4288714}. Exception details : Unhandled Exception: Microsoft.Crm.CrmArgumentException: Invalid input.

       at Microsoft.Crm.Asynchronous.EmailConnector.ExchangeItemFinder.AddItemToSyncItemChangeInfoCollection(Item item, String itemId, SyncItemChangeType itemChangeType, ItemObjectType itemObjectType, String crmId)

    Inner Exception: System.ArgumentException: Invalid input.
    AsynchronousProcessingService   Failed to add the item  to the ItemFinder sync error collection for the mailbox : {8CBF53D0-896B-E611-80F2-FC15B4288714}. Exception details : Unhandled Exception: Microsoft.Crm.CrmArgumentException: Invalid input.

       at …
Run Code Online (Sandbox Code Playgroud)

dynamics-crm dynamics-crm-online dynamics-crm-2016

6
推荐指数
1
解决办法
413
查看次数

如何在没有互联网访问的情况下安装 CRM 2016 所需组件

我正在无法访问 Internet 的独立 Windows Server 2012 R2 上安装 Microsoft Dynamics CRM 2016(完整服务器角色)。这是我必须处理的一个限制,所以我什至不可能“临时启用互联网”。MSSQL 2012 位于不同的盒子上。

\n\n

我已经能够手动下载、复制文件并安装除两个之外的所有先决条件:

\n\n
    \n
  • 微软应用程序错误报告
  • \n
  • SQL 本机客户端
  • \n
\n\n

CRM 所需组件图像

\n\n

我在哪里/如何安装这两个剩余的先决条件?

\n\n

奇怪的是我从 Microsoft\xc2\xae SQL Server\xc2\xae 2012 功能包页面下载了本机客户端(和其他 SQL 先决条件)下载了本机客户端(和其他 SQL 先决条件) ,本机客户端显示在程序文件中。

\n\n

我还打开了“Windows 错误报告”,认为它可以解决“Microsoft 应用程序错误报告”先决条件。

\n\n

我查看了软件要求,但没有特定的服务器角色指定我需要安装“应用程序服务器角色”吗???这是我唯一能想到的错误报告。

\n\n

欢迎任何帮助!

\n

installation prerequisites windows-server-2012-r2 dynamics-crm-2016

5
推荐指数
1
解决办法
1万
查看次数

crmsvcutil.exe:无法为早期绑定生成实体类 - Dynamics CRM Online

我正在尝试从我的 Dynamics CRM Online 实例生成早期绑定实体类。

我的机器上安装了 CRM SDK。

我正在从 SDK 的“Bin”文件夹运行以下命令。

crmsvcutil.exe /url:<<OrganizationServiceUrl>> /out:crmexams3.cs /username:"<<username>>" /password:"<<password>>"
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:

Error requesting orgs from the discovery server
Access is denied
Run Code Online (Sandbox Code Playgroud)

我已将 OrganizationServiceUrl 替换为可以从 CRM 实例中的开发人员资源中找到的组织服务 URL。

我的实例是 CRM 2016 Online。

知道为什么这会失败吗?

谢谢

microsoft-dynamics dynamics-crm dynamics-crm-online dynamics-crm-2016

5
推荐指数
1
解决办法
1215
查看次数

Java脚本单元测试 - 在线CRM 2016

我被卡住了.我想在CRM 2016中对我的Java脚本(Web资源)进行单元测试,但我无法实现这一目标.互联网上的所有单元测试模拟/伪装框架都适用于旧版本的CRM.我还没有找到一个完全运行单元测试框架CRM 2016年FakeXRMEasy但只被用于插件开发,工作流程等,有谁知道我能做到这一点?

javascript unit-testing dynamics-crm-2016

5
推荐指数
1
解决办法
1144
查看次数

使用 CRM Web API 获取视图的列名

我正在使用 CRM Online 2016 Web API。现在我拥有的唯一信息是savedQuery 或userQuery 记录。有了这个,我可以获得视图的所有记录,但我也想要这个视图的列名。

是否有一种简单的方法可以使用 Web API 获取列名,仅包含savedQuery/userQuery 记录的信息?

我已经有了获取列名的间接方法(使用 LayoutXML)。

dynamics-crm-online dynamics-crm-2016 dynamics-crm-webapi

5
推荐指数
1
解决办法
957
查看次数

CRM 报告扩展 - SSRS 实例为空

尝试安装 Reporting Extension for CRM 2016,但 SSRS 实例为空。

VM 包含(SQL 和 CRM 在同一台计算机上)

您能否帮我解决以下错误(SSRS 实例名称为空)。我们可以在SQL Server 2017上安装报告扩展吗(应该没问题,因为我能够安装 CRM 服务器)?

在此输入图像描述

reporting-services dynamics-crm-2016 sql-server-2017

5
推荐指数
1
解决办法
6228
查看次数