上篇我们看到了AutoCAD /O的功能和基本原理,在申请到API key以后,就可以进行开发了。接触一个新技术,都会以一个精巧的例子起头,俗称 Hello World。但AutoCAD I/O Hello World并不是简单写个模板,弹出个对话框就ok了,不过也不用紧张,一起来看看。
AutoCAD I/O是web service,程序只要能发送HTTP请求即可。我们将这些HTTP请求的常用流程封装了一个.NET service reference。因此让我们以一个.NET程序开始I/O的旅行:
1. 创建C#控制台程序
创建一个C# 控制台程序,名为MyTestAutoCADIO。 添加service reference, 引入
https://developer.api.autodesk.com/autocad.io/v1, 并命名为
AcadIO。
添加 Newtonsoft.Json 引用,这是用来解析AutoCAD I/O登陆后的Json字,获取到口令(token)。
2. AutoCAD I/O认证
前篇提到,HTTP请求时,服务器端需要判断是否是合法用户提交的请求,因此,使用AutoCAD I/O第一步,就是认证。以下是第一步建立的工程,Main函数里填写的内容。包括这样的几步:
1. 创建与AutoCAD I/O通讯入口
2. 配置HTTP请求,调用认证服务。服务端口地址为:
https://developer.api.autodesk.com/authentication/v1/authenticate
3. 成功后,解析返回的Json字串,得到其中token的内容。
所谓token(口令)是当HTTP认证合法后,服务器交给请求者的一个通行证,在随后的HTTP请求中,都需要提供,让服务器得知请求的合法。这里封装的
SetHeader函数,可以配置HTTP请求头,这样随后的请求就不用总是填写token这个参数了。
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace MyTestAutoCADIO
{
class Program
{
static void Main(string[] args)
{
//创建与AutoCAD IO 通讯的代理人口
Uri uri = new Uri("https://developer.api.autodesk.com/autocad.io/v1/");
//服务的容器
var container = new AcadIO.Containe