跳到主要内容

这篇文章是给谁看的?

Incydr专业,企业,地平线和政府F2
Incydr基础,高级,和政府F1

的Code42控制台中找到您的产品计划帐户菜单

老师,不。

Incydr Professional, Enterprise, Horizon和Gov F2,是的。

Incydr基础,高级,和Gov F1,没有。

首页
开始
发布说明
常见问题
api
系统状态
Code42支持

Code42 API语法和用法

这篇文章是给谁看的?

Incydr专业,企业,地平线和政府F2
Incydr基础,高级,和政府F1

的Code42控制台中找到您的产品计划帐户菜单

老师,不。

Incydr Professional, Enterprise, Horizon和Gov F2,是的。

Incydr基础,高级,和Gov F1,没有。

概述

Code42 API是一个强大的工具,用于获得特定的见解或对Code42环境的所有部分采取编程操作。本文描述了Code42 API的语法以及如何编写命令。

本文中的示例使用命令行工具旋度与Code42 API交互。有关可用于与API交互的工具列表,请参见与Code42 API交互的工具

此外,本文中的示例使用资源https://console.us.code42.com,但您使用的资源取决于您的Code42云主机地址:

Code42开发者门户
看到Code42开发者门户获取更多API文档和资源。门户提供:

尽可能多地使用Code42开发者门户来满足您的API需求。门户中的api是Incydr用户与Code42集成的首选方式。如果您使用的Code42 api没有出现在Code42开发者门户上,联系我们的技术支持工程师以获得与Code42集成的最佳方式的指导。

注意事项

Code42 API文档在Code42开发者门户.无需登录就可以在浏览器中看到它。但是API资源本身只在以下条件下工作:

  • 你有一个产品计划包括对Code42 API的访问。
  • 您的凭证依赖于本地身份验证。SSO或者通过任何第三方提供者进行身份验证将不起作用。
  • 你的角色提供权限来访问给定API资源所需的数据。例如,如果您没有在Code42控制台中更改设备设置的权限,那么您就没有使用API更改设备设置的权限。

如果你的API调用失败了,因为你没有权限使用它们,你会看到这样的回复消息:

  • HTTP 401未经授权
  • 无法验证用户身份
  • 您的Code42产品计划不允许使用Code42 API。

Code42 API语法

通过向Code42云发送HTTP请求来使用Code42 API。在请求中,指定定义请求的路径、资源和参数。

    示例命令

    复制!
    curl -X GET 'https://console.us.code42.com/api/v1/User?q=eg@ex.com&active=true' -H '授权:持有者< auth_token >' curl -X POST 'https://console.us.code42.com/api/v3/ping/error' -H '授权:持有者< auth_token >' curl -X GET 'https://console.us.code42.com/api/v4/role/view' -H '授权:持有者< auth_token >
    使用curl进行身份验证
    在这里列出的curl命令示例中,使用replace< auth_token >与一个身份验证令牌

    示例命令说明

    HTTP
    方法
    协议:/ /
    宿主
    :端口
    基地
    路径
    API
    资源
    查询参数
    得到 https://console.us.code42.com / api / v1 用户 ? q = eg@ex.com
    活泼= true
    帖子 https://console.us.code42.com / api / v3 / ping /错误
    得到 https://console.us.code42.com / api / v4 / 角色/视图

    HTTP方法

    • GET:检索资源。
    • POST:创建新资源。
    • PUT:更新现有资源。
    • DELETE:删除已有资源。

    协议、主机、端口

    上的API资源可用Code42开发者门户

    API参考资料

    这些资源提供了关于Code42平台的各种组件的信息。例如:

    • 电脑资源提供对用户设备的访问。
    • Org资源提供对组织的访问。
    • 用户资源为用户提供访问权限。

    有关Code42 API资源的列表,请参见Code42 API文档在开发者门户网站。

    参数

    参数进一步指定方法和资源的操作。的API文档描述给定方法和资源的参数。

    • 查询参数位于url的末尾,以问号开头,并以&符号分隔:
      复制!
      curl -X GET 'https://console.us.code42.com/api/v1/User?q=joe@acme.com&active=true' -H '授权:持有人'
      复制!
      curl -X GET 'https://console.us.code42.com/api/v1/User/123?idType=uid' -H '授权:持有者'
    • 请求体参数(POST和PUT请求的常见参数)作为JSON数据在HTTP请求体中传递。指定内容类型application / json(在curl命令中,- d身体数据)。
      复制!
      curl -X POST -d '{"cbetway88helpompany": "Test1", "email": "test@test.com", "customerId": "123", "firstname": "test", "lastname": "test"}' -H 'Content-Type: application/json' 'https://console.us.code42.com/api/v1/user' -H '授权:持有人' '

    返回值

    一些API请求只是返回一个HTTP响应代码:例如,200表示成功。其他请求也会返回JSON数据

    • 返回值可以是一个资源或一组资源。
    • 为了使输出更具可读性,将其输送到Python JSON解码器。为此,将以下内容添加到旋度命令:
      | python3 -mjson.tool

    单个返回值

    在主URL上指定ID的GET请求将返回一个资源。例如:

    复制!
    curl -X GET -i 'https://console.us.code42.com/api/v1/User/123' -H '授权:持有人' | python3 -mjson.tool


    返回ID为“123”的用户:

    {"metadata":{"timestamp":"2013-08-27T14:05:44.733-05:00",< "params":{}}, "data":{"userId":123, "userUid":"c6ec2d26ce3805c1", "status":"Active":" username":"joe@acme.com", "email":"joe@acme.com", "firstName":"Joe", "lastName":"Jones", "orgId":42, "orgName":"Finance", "Active":true, "blocked":false, "orgType":"CONSUMER", "creationDate":"2007-01-07T18:00:13.273-06:00", "modificationDate":"2013-05-13T13:40:52.279-05:00"}}

    请注意,帖子请求通常返回使用生成的ID创建的资源。

    多个返回值

    带有查询参数的GET请求返回一个资源数组。例如:

    复制!
    curl -X GET 'https://console.us.code42.com/api/v1/User?active=true&pgNum=1&pgSize=2' -H '授权:holder ' | python3 -mjson.tool

    返回一个活动用户数组:

    {"metadata":{"timestamp":"2013-08-27T14:05:44.733-05:00", "params":{}}, "data": {totalCount:5432, users: [{"userId":123, "userUid":"c6ec2d26ce3805c1", "status":"Active", "username":"joe@acme.com", "email":"joe@acme.com",…“标识”(切断)},{:456年,“userUid”:“f1ad1da8b74328bz”,“状态”:“活跃”,“用户名”:“jim@slim.com”、“电子邮件”:“jim@slim.com”……[剪切]},]}}

    请求设备信息的示例

    本节使用的示例旋度电脑API的资源。

    输入

    下面的命令列出了Code42环境中的设备:

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer" -H '授权:承载' | python3 -mjson.tool . zip
    命令元素 描述
    旋度 调用curl命令。
    - x得到

    将方法设置为GET。

    - k 忽略与自签名证书betway365相关的安全错误。参考旋度手册页获取详细信息。
    http://console.us.code42.com Code42云的网站协议和主机
    / api / v # Code42云上API资源的网络位置,所有API请求都需要。
    /计算机 您希望使用的特定API资源。API资源的完整列表可在Code42开发者门户
    < auth_token > 身份验证令牌为您的要求。所有Code42 API请求都必须经过身份验证。
    | python3 -mjson.tool 通过将输出发送给Python json解码器,使输出更具可读性。

    输出

    输出包含由Python json.tool格式化的请求信息:

    {“数据”:{“电脑”:[{“活跃”:假的,“地址”:“192.168.95.128:4242”、“alertState”:0,“alertStates”:“OK”,“封锁”:假的,“buildVersion”:空,“computerId”:13日,“创建日期”:“2015 - 03 - 18 - t16:39:04.241凌晨”、“guid”:“681099810721783680”,“javaVersion”:“1.7.0_45”、“lastConnected”:“2015 - 03 - 18 - t16:42:55.482凌晨”、“loginDate”:“2015 - 03 - 18 - t16:39:07.570凌晨”、“modelInfo”:空,“modificationDate”:“2015 - 03 - 18 - t16:42:55.482 -凌晨5”,“名字”:“WIN-FQNN6BGK47K”、“orgId”:2、"osArch": "amd64", "osName": "win", "osVersion": "6.2", "parentComputerId": null, "productVersion": "3.7.0", "remoteAddress": "172.16.239.1", "service": "Code42", "status": "去激活","timeZone": "America/Chicago", "type": "COMPUTER", "userId": 2, "version": " 1388728800370}, {"active": true, "address": "192.168.95.128:4252", "alertState": 0, "alertStates": ["OK"], "blocked": false, "buildVersion": 31, "computerId": 12, "creationDate": "2015-03-12T11:53:40.861-05:00", "guid":“680201360538886016”,“javaVersion”:null,“lastConnected”:“2015-03-12T17:17:23.909-05:00”,“loginDate”:“2015-03-12T16:23:12.272-05:00”,“modelInfo”:null,“modificationDate”:“2015-03-12T17:17:23.909-05:00”,“name”:“win - fqnn6bgk47k”,“orgId”:2,“osArch”:null,“osName”:“win”,“osVersion”:“6.2.9200.0”,“parentComputerId”:null,“productVersion”:“3.7.0”,“remoteAddress”:“172.16.239.1”,“service”:“Code42”,“status”:“Active”,“timeZone”:null,“type”:“COMPUTER”,“userId”:2,“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“version”:“type”:“COMPUTER”,“userId”:2,“version”:“version”:“version”:“版本”:1413349200416}]}, "metadata": {"params": {}, "timestamp": "2015-03-23T16:57:19.687-05:00"}}

    添加如下所述的参数可以改进这个初始请求。

    添加参数

    每个API资源都包含附加参数,可用于搜索特定数据、过滤和排序结果,或指定其他附加选项。每个资源的参数都不相同,因此使用API文档查看所使用的每个资源的可用选项。

    为了提高电脑请求以上,添加参数和指定值,以定制您的结果。类中可用的参数的一小部分,示例如下电脑资源。

    例子的参数 API文档 描述
    srtKey 排序键 对象的结果进行排序电脑请求的几个值之一,如计算机的的名字lastCompletedBackup
    srtDir 排序方向 排序结果按升序或降序进行。
    pgSize 返回的最大对象数 指定结果的最大数目。
    活跃的 可选筛选器,只显示活动或未激活的对象 允许请求只响应激活或未激活的计算机。
    出口 选项指定导出 指示电脑请求以导出格式返回结果,例如逗号分隔值(CSV)文件。

    可以将参数附加到旋度的后面添加一个或多个参数及其值?如下图所示。

    例1:根据最近的连接进行排序

    如果希望查看最近连接到Code42环境的计算机是哪些,则可以对电脑API请求。该命令对电脑结果由计算机最后连接到Code42云实例:

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer?srtKey=lastConnected" -H '授权:承载' | python3 -mjson.tool . zip

    例2:导出到CSV

    如果希望查看更可读的信息格式,或存储报告以随时间查看Code42环境中的信息,则可以导出电脑请求到CSV文件。该命令将结果导出为CSV格式:

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer?export=csv" -H '授权:承载' | python3 -mjson.tool . zip

    例3:排序并导出到CSV

    将多个参数合并为一个参数旋度命令,使用的性格。该命令对电脑并以CSV格式导出结果:

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer?srtKey=lastConnected&export=csv" -H '授权:承载' | python3 -mjson.tool . zip

    计算机资源的用例

    通过组合Code42 API的可用资源、方法和参数,您可以为Code42环境的特定需求创建解决方案。这些示例展示了仅使用电脑资源。

    报告所有设备

    Code42 API可以帮助您定期收集关于Code42环境的信息,以便以后在报告和统计中使用。这个请求将所有设备的列表导出为CSV:

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer?srtKey=name&srtDir=asc&targetComputerGuid=rollup&incBackupUsage=true&incActivity=true&incCounts=true&active=true&alerted=false&obeyQueryLimit=true&export=csv" -H '授权:承载' | python3 -mjson.tool . zip

    事实上,这旋度命令使用与您选择时Code42控制台使用的相同的API请求设备>操作菜单>导出全部.有关如何将Code42控制台操作转换为旋度命令,请参阅Code42 API工具篇文章。

    识别非活动设备

    您的Code42环境中可能有一些设备在一段时间内没有连接到Code42云,这可能是由于关闭了电源。此请求将创建Code42环境中计算机的CSV,从那些在最长时间内未连接到Code42环境的计算机开始:

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer?srtKey=lastConnected&active=true&export=csv" -H '授权:承载' | python3 -mjson.tool . zip

    确定最大的设备备份

    确定备份最多信息的设备可以帮助您更有效地管理存储。该请求列出了备份数据最多的10个设备:

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer?srtKey=archiveBytes&srtDir=DESC&pgSize=10&pagNum=1&active=true" -H '授权:承载' | python3 -mjson.tool . zip

    为了使该命令在命令行上更容易阅读,可以使用Python JSON解码器处理输出,并使用命令行工具(如grep

    复制!
    curl -X GET -k "https://console.us.code42.com/api/v1/Computer?srtKey=archiveBytes&srtDir=DESC&pgSize=10&pagNum=1&active=true" -H '授权:承载' | python3 -mjson.tool . zip| grep -w name

    接下来是什么

    电脑resource只是Code42 API中的众多资源之一。在你理解了本介绍中的例子之后,继续探索Code42 API: