首页 > 其他分享 >Dynamics CRM 365 Web API 入门

Dynamics CRM 365 Web API 入门

时间:2024-06-04 14:15:48浏览次数:22  
标签:API Web Console string client new Dynamics

创建 Visual Studio 项目

  1. 启动 Visual Studio 2022,然后选择“创建新项目”。
  2. 创建新的控制台应用项目。
  3. 通过设置“位置”和“项目名称”来配置项目。
  4. 通过选择“.NET 8.0(长期支持)”和“不使用顶级语句”来配置项目。然后单击“创建”。

编辑Program.cs

按照以下后续步骤为主程序添加代码。

  1. Program.cs替换为以下代码。

    using System.Net;
    using System.Text.Json;
    
    namespace WebAPIQuickStart
    {
        internal class Program
        {
            static async Task Main()
            {
                string userName = "";
                string password = "";
                string domainName = "";
                string webAPIBaseAddress = "https://<env-name>/D365/api/data/v9.1/";//修改环境地址
                HttpClient client = GetNewHttpClient(userName, password, domainName, webAPIBaseAddress);
                #region Web API call
    
                var response = await client.GetAsync("WhoAmI");
    
                if (response.IsSuccessStatusCode)
                {
                    Guid userId = new();
    
                    string jsonContent = await response.Content.ReadAsStringAsync();
    
                    // Using System.Text.Json
                    //using (JsonDocument doc = JsonDocument.Parse(jsonContent))
                    //{
                    //    JsonElement root = doc.RootElement;
                    //    JsonElement userIdElement = root.GetProperty("UserId");
                    //    userId = userIdElement.GetGuid();
                    //}
    
                    // Alternate code, but requires that the WhoAmIResponse class be defined (see below).
                    WhoAmIResponse whoAmIresponse = JsonSerializer.Deserialize<WhoAmIResponse>(jsonContent);
                    userId = whoAmIresponse.UserId;
    
                    Console.WriteLine($"Your user ID is {userId}");
                }
                else
                {
                    Console.WriteLine("Web API call failed");
                    Console.WriteLine("Reason: " + response.ReasonPhrase);
                }
                #endregion Web API call
    
                Console.ReadKey();
            }
    
            private static HttpClient GetNewHttpClient(string userName, string password, string domainName, string webAPIBaseAddress)
            {
                HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = new NetworkCredential(userName, password, domainName) });
                client.BaseAddress = new Uri(webAPIBaseAddress);
                client.Timeout = new TimeSpan(0, 2, 0);
                return client;
            }
        }
    
        /// <summary>
        /// WhoAmIResponse class definition 
        /// </summary>
        /// <remarks>To be used for JSON deserialization.</remarks>
        public class WhoAmIResponse
        {
            public Guid BusinessUnitId { get; set; }
            public Guid UserId { get; set; }
            public Guid OrganizationId { get; set; }
        }
    }
    

运行程序

查看控制台应用程序窗口。输出应如下所示:

标签:API,Web,Console,string,client,new,Dynamics
From: https://www.cnblogs.com/YuYangBlogs/p/18230622

相关文章

  • 探索sqlmap在WebSocket安全测试中的应用
    探索sqlmap在WebSocket安全测试中的应用WebSocket与HTTP的区别WebSocket,对于初次接触的人来说,往往会引发一个疑问:既然我们已经有了广泛使用的HTTP协议,为何还需要引入另一种协议?WebSocket又能为我们带来哪些实质性的好处呢?这背后的答案在于HTTP协议的一个关键限制——通信的发起......
  • Buuctf-Web(37-42)
    37[网鼎杯2020朱雀组]phpweb参考[网鼎杯2020朱雀组]phpweb1-CSDN博客[buuctf-网鼎杯2020朱雀组]phpweb(小宇特详解)_buuctf[网鼎杯2020朱雀组]phpweb-CSDN博客打开是这个界面,大概5秒刷新一次先来一遍扫目录,看源码,抓包一扫就409,应该做了限制,源码没发现什么,抓包看看......
  • Buuctf-Web(1-6)
    1[极客大挑战2019]EasySQL根据题目,用单引号检测是否存在SQL注入漏洞分析报错信息:看'单引号后面跟着的字符,是什么字符,它的闭合字符就是什么,若是没有,就为数字型。在两个位置用单引号测试,发现闭合符号为单引号,注入点在password万能密码法常规法注入流程数据库->表->字段-......
  • 适合小白学习的项目1901java体育馆管理系统Myeclipse开发mysql数据库web结构java编程
    一、源码特点java体育馆管理系统是一套完善的web设计系统,对理解JSPjava编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用java语言开发。java体育馆管理系......
  • web前端期末大作业:美食文化网页设计与实现——美食餐厅三级(HTML+CSS+JavaScript)
    ......
  • web前端期末大作业:旅游网页设计与实现——个人旅游博客(4页)HTML+CSS
    ......
  • JAVA计算机毕业设计基于Web的小学学科数字教学资源管理系统的开发与设计(附源码+spring
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化时代的浪潮下,教育领域正经历着深刻的变革。随着互联网技术的飞速发展,数字教学资源已成为小学学科教育中不可或缺的一部分。然而,当前许多小学......
  • 实时分析用户反馈:淘宝商品评论API助力电商创新
    淘宝商品评论API在助力电商创新,特别是在实时分析用户反馈方面,发挥着重要作用。以下是关于淘宝商品评论API如何支持电商创新的详细解析:一、淘宝商品评论API概述淘宝商品评论API是淘宝开放平台提供的一种数据接口服务,允许开发者通过编程方式获取淘宝平台上的商品评论信息。这些......
  • JAVA计算机毕业设计基于web的校园互助系统设计(附源码+springboot+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的迅猛发展和普及,校园生活也逐渐步入了数字化、网络化的新阶段。在这样的背景下,校园内的信息交流和互助需求日益增长。然而,传统的校园......
  • 淘宝商品搜索API返回值解析:关键字搜索如何优化商品推荐
    淘宝商品搜索API的返回值通常包含了大量的商品信息,这些信息对于优化商品推荐至关重要。以下是一些建议,帮助你基于关键字搜索优化商品推荐:理解API返回值:首先,确保你完全理解API返回的数据结构。通常,这包括商品ID、标题、价格、图片URL、销售数量、评分等。分析这些字段,确定哪......