入门 - 云端

ManageEngine Endpoint Central 云端现支持使用 REST APIs 轻松集成您现有的基础设施。您可以通过单一控制台轻松执行各种桌面管理活动。您可以在侧边栏找到可用 API 的模块列表,如果需要更多 API,您可以 联系我们 并告知您的需求。

本文档描述了使用 API 的先决条件。

多个数据中心

Endpoint Central 云端托管于多个数据中心,因此可通过不同的域名访问。 Endpoint Central 云端 API 有 7 个不同的域名,您可以使用适用于您的域名。

  • 数据中心
  • 域名
  • EndpointCentral_Server_URI
  • ZohoAccounts_Server_URI
  • DeveloperConsole
  • 美国
  • .com
  • https://endpointcentral.manageengine.com
  • https://accounts.zoho.com
  • api-console.zoho.com
  • 欧洲
  • .eu
  • https://endpointcentral.manageengine.eu
  • https://accounts.zoho.eu
  • api-console.zoho.eu
  • 印度
  • .in
  • https://endpointcentral.manageengine.in
  • https://accounts.zoho.in
  • api-console.zoho.in
  • 澳大利亚
  • .com.au
  • https://endpointcentral.manageengine.com.au
  • https://accounts.zoho.com.au
  • api-console.zoho.com.au
  • 中国
  • .cn
  • https://endpointcentral.manageengine.cn
  • https://accounts.zoho.cn
  • api-console.zoho.cn
  • 日本
  • .jp
  • https://endpointcentral.manageengine.jp
  • https://accounts.zoho.jp
  • api-console.zoho.jp
  • 英国
  • .uk
  • https://endpointcentral.manageengine.uk
  • https://accounts.zoho.uk
  • api-console.zoho.uk

此页面上的 APIs 适用于托管于 .com 域的组织。如果您的组织位于其他域, 请在使用 API 端点前将 “.com” 替换为相应的域名。

注意: 您可以在访问 Endpoint Central 时查看 URL 来确定您正在访问的域名。

认证

Endpoint Central REST API 支持 OAuth 2.0 协议,用于授权和认证 API 调用。请按照此处列出的步骤在 Endpoint Central APIs 中使用 OAuth 2.0 协议。

OAuth 令牌生成

生成 OAuth 令牌的步骤如下:

  1. 1. 生成 <Client ID><Client Secret>
  2. 2. 通过生成 <grant token>
  3. 进行授权 3. 生成<Access>
  4. <Refresh Token> 4. 生成 <Access Token> <Access>

第 1 步:生成 Client ID 和 Client Secret

    1. 1. 通过访问 developer console :
    2. 将您的应用程序注册为新客户端。 2. 选择 <Client Type>

OAuth 2.0

  1. 适合您的应用类型。 3. 选择客户端类型后,填写所需信息并点击.

“创建” 注册成功后,您将获得一组 OAuth 2.0 凭证,如<Client_ID> <Client_Secret>,仅 Zoho 和您的应用程序知晓。(请勿在任何地方泄露此凭证)

第 2 步:通过生成授权码进行授权

生成 注册成功后,您将获得一组 OAuth 2.0 凭证,如<Client_ID><grant token> 后,需生成授权码。根据客户端类型,有两种生成方式。

  1. i. 自助客户端方法 - 适用于自助客户端类型。
  2. ii. 重定向方法 - 适用于基于服务器的应用程序。

自助客户端方法

    • - 注册后,点击应用列表中的 <Self Client> 方法。
    • - 输入有效的 <scope>。 (详细信息请参见 Scopes
    • - 选择时间期限。

注意:本步骤生成的授权<Code> 将在所选期限后过期。 <Access>(第 3 步) 需在授权码过期前生成。

    • - 输入 <Scope> 描述。

Self-client

    • 点击 创建 以生成 < code>

AuthCode 样式=

重定向方法(适用于基于服务器的应用程序)

通过以下 URI 发送请求并附带参数

https://<ZohoAccounts_Server_URI>/oauth/v2/auth?scope=<SCOPE>&client_id=<CLIENT_ID>&state=testing&response_type=code&redirect_uri=<REDIRECT_URI>&access_type=offline&prompt=consent
  • 参数
  • 描述
  • Scope *
  • Scope 即访问特定 API 的权限,需生成对应的令牌。可以指定多个 scope,并用逗号分隔。例如:DesktopCentralCloud.Common.READ,DesktopCentralCloud.SOM.UPDATE
  • 阶段获取
  • State
  • 用于关联回调与授权请求的生成值。
  • Response_type* <code>
  • 第 1 步
  • access_type可选值为 offline online 在线 <access_type> 赋予您的应用一个 online 将赋予该应用程序一个 <access_type> 以及一个 <refresh_token>。默认情况下,在线 <access_type> 被采用。
  • 提示
  • Consent(请将此字符串字面值作为值提供) 每次应用程序尝试访问用户凭据时,都会提示用户同意。如果未指定,用户只会在第一次请求访问时被提示。

注意:带*的字段为必填项

示例

https://accounts.zoho.com/oauth/v2/auth?scope=DesktopCentralCloud.Common.READ&client_id=1000.I******************YF&state=54************5&response_type=code&redirect_uri=https://zylkerapps.com/oauth2callback&access_type=offline&prompt=consent

调用此请求时,如果您已登录Zoho,则会显示用户同意页面;如果您没有有效的Zoho登录会话,则会重定向到Zoho登录页面,需要输入Zoho凭据登录。身份验证后将显示用户同意页面。

OAuth 2.0

  • 1. 点击 “接受”,应用程序被授权。授权 Response_type* 作为参数发送到redirect_uri。
  • 2. 您的后端脚本需要从上述URL存储以下详细信息。
  • code={grant_token} - 用于生成访问令牌和刷新令牌。
  • location={domain} - 告诉您用户的域名,您需要从该域调用API。
  • accounts-server={accounts_URL} - 这是您的accounts URL,用于生成刷新令牌和访问令牌。

代码

注意:code 仅在60秒内有效。下一步必须在此时间内完成。

当用户点击 “拒绝”时,浏览器将带有参数error=access_denied重定向到重定向URI,您的应用程序将被拒绝访问Endpoint central中的用户数据。

第3步:生成访问令牌和刷新令牌

访问令牌

访问令牌发送到资源服务器以访问用户的受保护资源。 <Access token> 提供对Endpoint central API的安全且临时访问,应用程序通过它向连接的应用发出请求。每个 <access token> 仅在一个小时内有效,并且只能用于作用域中描述的操作集合。

刷新令牌

刷新令牌用于获取新的 <access tokens>。该令牌拥有 无限的生命周期,直到终端用户撤销。.

生成 授权码,需要对以下URI发出POST请求,携带如下参数,以生成 <refresh_token><access_type>.

方法:POST

https://<ZohoAccounts_Server_URI>/oauth/v2/token?code=<CODE>&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&redirect_uri=<REDIRECT_URI>&grant_type=authorization_code
  • 参数
  • 描述
  • code*
  • 授权码,在生成授权令牌时获得(第2步).
  • grant_type*
  • authorization_code(字面值请使用此字符串)
  • scope
  • 作用域(scope即访问特定API的权限),多个作用域用逗号分隔。
    示例:DesktopCentralCloud.Common.READ,DesktopCentralCloud.Inventory.READ
  • state
  • 生成的值,用于将回调与关联的授权请求相关联。整个流程中必须保持相同以确保真实性。

注意:带*的字段为必填项

示例

方法: POST

https://accounts.zoho.com/oauth/v2/token?code=1000*********************e95e&client_id=1000.I*****************6YF&client_secret=1b****************96&redirect_uri=https://zylkerapps.com/oauth2callback&grant_type=authorization_code

  • 响应中,您将获得 <access_type><refresh_token>.
  • 代码
  • 1. <access_type> 将在一个小时后过期。
  • 2. <refresh_token> 是永久有效的,用于在当前访问令牌过期后重新生成新的 <access_type>

注意: 每次 重新同意页面被接受时,会生成新的 <refresh token> 。每个用户最多允许20个 <refresh tokens> 。如果超出此限制,最早的 <refresh token> 会被自动删除以容纳最新的刷新令牌。无论第一个刷新令牌是否正在使用,均如此。

第4步:从刷新令牌生成访问令牌

<access_tokens> 有限的有效期,其在一小时后过期。令牌 <access_type> 过期后,用户或应用程序必须使用 <refresh_token> 来请求新的 <access_type>。使用过期的访问令牌将抛出“Invalid Oauthtoken”错误。

您可以在生成访问令牌时请求同时生成刷新令牌。要请求刷新令牌,请在生成授权令牌的请求中添加 access_type=offline (参见第2步)。

参数 <refresh_token> 始终通过以下参数生成: prompt=consent

注意: 使用 <refresh_token> 客户端在十分钟内最多可创建 十个访问令牌。如果达到限制, 其余十分钟内访问令牌的创建将被阻止。

通过以下POST URI及参数,可以生成新的 <access_type>.

方法:POST

https://<ZohoAccounts_Server_URI>/oauth/v2/token?refresh_token=<REFRESH_TOKEN>&client_id=<CLIENT_ID>&client_secret=<CLIENT_SECRET>&redirect_uri=<REDIRECT_URI>&grant_type=refresh_token
  • 参数
  • 描述
  • refresh_token*
  • 参数 <refresh_token> ,此令牌在 <access_type> 生成时获得(第3步)
  • client_id*
  • <Client_id> 客户端注册时获得。
  • client_secret*
  • <Client_secret> 客户端注册时获得。
  • grant_type*
  • refresh_token(字面值请使用此字符串)

示例

方法: POST

https://accounts.zoho.com/oauth/v2/token?refresh_token=1000.1*********************fb8&client_id=1000.I**********************6YF&client_secret=1b******************************96&redirect_uri=https://zylkerapps.com/oauth2callback&grant_type=refresh_token

响应中,您将获得新的 <access_type>

代码

使用OAUTH认证调用API

API - URI结构

所有API URI必须遵循以下格式。

<EndpointCentral_Server_URI>/api/{Version}/{Entity}/{Operation|Action}
  • 标签
  • 可选/必填
  • 描述
  • 用途
  • 版本
  • 必填
  • API版本
  • 1.4 即当前API版本
  • 实体
  • 必填
  • API模块
  • 例如:inventory, som
  • 操作或动作
  • 必填
  • 模块中的操作或动作
  • 例如:computers, computers/installagents

<access_type> 只能在请求头中传递,不能作为请求参数传递。

  • 头部名称 = Authorization
  • 头部值> = Zoho-oauthtoken<空格><access_token>
  • 示例: Authorization: Zoho-oauthtoken 1000.abcde12345fgh678.ijk9

在postman中调用SOM汇总API示例

请求URI: https://endpointcentral.manageengine.com

API URI: api/1.4/som/summary

方法: GET

代码

作用域

  • Scope
  • 描述
  • 管理作用域(SOM)
  • DesktopCentralCloud.Common.READ,
    DesktopCentralCloud.SOM.READ,
    DesktopCentralCloud.SOM.UPDATE
  • Inventory
  • DesktopCentralCloud.Inventory.READ,
    DesktopCentralCloud.Inventory.UPDATE
  • Patch
  • DesktopCentralCloud.PatchMgmt.READ,
    DesktopCentralCloud.PatchMgmt.UPDATE
  • Vulnerability
  • DesktopCentralCloud.VulnerabilityMgmt.READ