安装和使用curl
所有的例子亚博Zendesk REST API文档使用curl,这是一个轻量级的命令行工具,可以在没有web浏览器的情况下发出HTTP请求。curl允许您在命令行界面(如Windows中的命令提示符或macOS中的终端)中尝试各种API请求。您不需要仅仅为了尝试api而构建一个可工作的web应用程序。
curl像web浏览器一样发出HTTP请求。要从命令行请求网页,请键入旋度
然后是网站的网址:
web服务器的响应将直接显示在命令行界面中。如果您请求一个HTML页面,您将获得页面源——这是浏览器通常看到的。
相关的主题
免责声明Ze亚博ndesk不支持第三方技术,如curl或Windows。
使用旋度
你可以使用curl来检查和测试不同的Zendesk API请求,而不必构建一个功能正常的web亚博应用程序。例如,下面的curl语句向组列表Zendesk API中的端点:亚博
旋度https://mysubdomain.亚博zendesk.com/api/v2/groups.json\
- v - u(电子邮件保护):我的密码
API返回一个JSON对象,其中列出了Zendesk支持实例中的组:亚博
{
“组织”:(
{
“名称”:“dj”,
“created_at”:“2009 - 05 - 13 - t00:07:08z”,
“updated_at”:“2011 - 07 - 22 - t00:11:12z”,
“id”:211
},
{
“名称”:“主持人”,
“created_at”:“2009 - 08 - 26 - t00:07:08z”,
“updated_at”:“2010 - 05 - 13 - t00:07:08z”,
“id”:122
}
]
}
JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。它被设计成便于人类阅读和编写,便于机器解析和生成。要了解更多信息,请参见使用JSON.
在Windows中使用curl
您可以使用Windows命令提示符来运行curl示例。要启动命令提示符,请打开开始菜单,输入cmd在搜索框中,按输入.
默认情况下,Windows 10、1803或更早版本中没有安装curl。看到安装旋度以在您的系统上安装它。
文档中的示例必须稍加修改才能在Windows中正常工作。首先,用插入符号(^)替换任何行尾反斜杠(\)字符。其次,如果示例包含JSON数据,请在运行示例之前将数据移到一个文件中。下面的部分给出了更多的细节。
替换行结束反斜杠
curl示例通常在行末有一个反斜杠(\),将长语句分成更容易阅读的行。反斜杠在UNIX中是行延续字符,但在Windows中不是。在Windows中,将行尾的反斜杠替换为插入字符(^),这在Windows中是一个转义字符。不要在^字符后留下任何空格,否则将无法工作。插入符号将转义空格而不是新行。
例子:
旋度https://mysubdomain.亚博zendesk.com/api/v2/groups.json ^
- v - u(电子邮件保护):我的密码
您可以在命令提示符处粘贴多行语句,方法是单击左上角的图标并选择编辑>粘贴.如果您喜欢使用键盘,请按Alt +空格键要打开菜单,请按E和P.
将JSON数据移动到文件中
Windows命令提示符不支持单引号。这是一个问题,因为curl语句使用单引号来指定JSON数据。例子:
旋度https://{子域名}.亚博zendesk.com/api/v2/groups.json ^
- d'{"group": {"name": "My group"}}'^
- h“application / json内容类型:^
- v - u{email_address}:{密码}- x的帖子
该语句指定用于创建组的JSON数据- d
旗帜代表数据)。因为JSON是用单引号括起来的,所以该语句在命令行中不起作用。
为了解决这个问题,将JSON保存在一个单独的文件中,并将其导入到curl语句中。要修改上面的示例,请创建一个名为json.txt载有下列案文:
{“集团”:{“名称”:“我的小组”}}
然后,更改curl语句以导入JSON数据@filename语法:
旋度https://{子域名}.亚博zendesk.com/api/v2/groups.json ^
-d @json.txt ^
- h“application / json内容类型:^
- v - u{email_address}:{密码}- x的帖子
在运行语句之前,请使用cd命令(用于更改目录)以导航到包含该文件的文件夹。例子:
C:\> cd json_files
然后在命令提示符处粘贴curl语句:
旋度https://{子域名}.亚博zendesk.com/api/v2/groups.json ^
-d @json.txt ^
- h“application / json内容类型:^
- v - u{email_address}:{密码}- x的帖子
将JSON移动到单独文件的另一种选择是在curl语句中使用双引号包围JSON数据,并用反斜杠转义内部数据:
- d“{\”集团\”: {\”名字\”:\”我的小组\”}}”\
它并没有就此结束。以下字符串中的特殊字符必须用插入符号(^)转义:&
,\
,<
,>
,^
,|
.如果JSON包含HTML,例如当您尝试在Help Center中创建或更新一篇文章时,则需要找到并转义HTML中的所有尖括号。
这很繁琐,而且容易出错。最好还是坚持从文件中导入JSON。
安装旋度
macOS
macOS默认安装curl。来试试吧测试您的curl安装在下面。
Windows 10, 1803版本或更高版本
如果您的Windows 10版本为1803或更高版本,则默认安装curl。来试试吧测试您的curl安装在下面。
窗户
如果您的Windows版本早于Windows 10(版本1803),则可以按如下方式下载并安装curl。
在Windows中,创建一个名为旋度在你的C盘。
去https://curl.se/download.html并下载以下其中一个zip文件:
- 如果你的操作系统是Windows 64,请滚动到Win64 -通用版节并查找最新的Win64 ia64 zip支持SSL的版本。它通常排在第二。单击版本号开始下载。
- 如果你的操作系统是Windows 32,请滚动到Win32 -通用版节并查找最新的Win32邮政支持SSL的版本。它通常排在第二。单击版本号开始下载。
解压缩下载的文件并移动curl.exe存档到你的C: \旋度文件夹中。
去https://curl.se/docs/caextract.html并下载数字证书文件cacert.pem.
PEM文件包含一束有效的数字证书。证书用于验证安全网站的真实性。它们由GlobalSign和VeriSign等证书颁发机构(CA)公司分发。PEM文件允许curl使用安全套接字层(SSL)协议安全地连接到Zendesk API。亚博
移动cacert.pem存档到你的C: \旋度文件夹并重命名curl-ca-bundle.crt.
将curl文件夹路径添加到Windows path环境变量中,这样curl命令就可以从命令提示符的任何位置使用。更新变量如下:
在开始菜单,右键单击这个电脑并选择更多>属性.
请注意:在Windows 7操作系统下,右键单击电脑并选择属性.
点击高级系统设置.
在先进的选项卡,单击环境变量按钮在右下角。
选择中的“Path”变量系统变量,并按编辑.
在编辑环境变量对话框,单击新然后加上路径curl.exe文件。例如:C: \旋度。
Windows 7在…变量值文本框中,在值后面附加分号,后跟指向的路径curl.exe文件。例如:C: \旋度
继续单击OK以接受更改并关闭对话框。
测试您的curl安装
您可以通过向Zendesk API发出请求来测试您的curl安装。亚博该测试检索您的Zendesk Support用户亚博信息。
测试旋度
将下面的curl语句粘贴到你最喜欢的文本编辑器中:
旋度https://{子域名}.亚博zendesk.com/api/v2/users/me.json\
- v - u{email_address}:{密码}
有关此端点的详细信息,请参见显示当前认证的用户在Zendes亚博k API文档中。
Windows用户:将反斜杠(\)换行符替换为插入符(^)。确保插入符号后没有空格。看到在Windows中使用curl以上。
将花括号中的占位符替换为用于登录Zendesk Support的信息。亚博例子:
旋度https://obscura.亚博zendesk.com/api/v2/users/me.json\
- v - u(电子邮件保护):我的密码
启动命令行界面。
- 在Windows中,打开开始菜单,输入cmd在搜索框中,按输入.
- 在macOS中,双击应用程序/实用程序文件夹中的终端应用程序。
从文本文件中复制curl语句,并将其粘贴到命令提示符处。
Windows用户:复制到剪贴板后,选择编辑>粘贴在窗口左上角的上下文菜单中:
新闻输入运行curl语句。
控制台应该显示格式化为JSON对象的Zendesk Suppor亚博t用户信息。
你可以漂亮的打印结果使它更容易阅读。看到将JSON转换为您可以理解的数据.
常见旋度标志
的示例中,您将看到以下旋度标志亚博Zendesk REST API文档.
- h
指定要包含在HTTP请求中的任何额外报头内容。向服务器提交数据的API请求通常包含数据的内容类型。例子:
例子:-H "Content-Type: application/json"
.
- u
指定用于服务器身份验证的用户名和密码。用户名和密码以冒号分隔。
例子:- u(电子邮件保护):我的密码
- v
使响应更冗长。
- x
指定与HTTP服务器通信时使用的请求方法。例如:PUT或POST。
请注意GET是默认方法,因此您不需要指定它。
例子:- x将
- g - data-urlencode
用于在查询字符串中发送数据的API端点,例如搜索API.的——data-urlencode
选项url对查询字符串进行编码。的- g
flag指定url编码的数据用于GET请求而不是POST请求。
例如,假设您希望使用列表搜索结果端点:
…/ api / v2 / search.json吗?查询=类型:机票状态:开放
curl命令看起来像这样:
旋度“https://{子域名}.zendes亚博k.com/api/v2/search.json”\
- g - data-urlencode“查询=类型:机票状态:开放”\
- v - u{email_address}:{密码}