创建 API 密钥
Megaport API 调用需要访问令牌,您可以在创建 API 密钥后生成该令牌。访问令牌用于对 API 用户进行身份验证,并仅临时允许访问 Megaport Portal 中所需的部分。
我们建议使用专用的机器到机器(M2M)Company Admin 帐户来访问 Megaport API 并创建 API 密钥。如果某个真实用户被停用或无法登录其帐户,由该用户创建的 API 密钥也会被暂停,这可能会导致任何 API 集成无法工作。
API 密钥仅在其生成所在的环境中有效。如果您需要使用 API 密钥访问其他环境,请登录该环境中的 Megaport Portal 并在其中生成 API 密钥。
注意
要创建 API 密钥,您必须以 Company Admin 身份登录 Megaport Portal。有关更多信息,参见 管理用户角色。
本主题介绍以下任务:
- 在 Megaport Portal 中创建 API 密钥
- 在 Postman 中生成访问令牌
在 Megaport Portal 中创建 API 密钥
- 在 Megaport Portal 中,选择 Tools > API Key Generator。
API Keys 屏幕允许您创建 API 密钥,并查看和编辑现有的 API 密钥。
-
指定该 API 密钥的详细信息。
-
Name(名称) – 输入该 API 密钥的名称。
这应该是一个具有描述性的名称,用于标识该密钥的用途。注意
-
API 密钥名称至少需要三个字符。
-
除破折号和连字符之外,不允许使用特殊字符。
-
-
Role(角色) – 选择将使用 API 的用户角色。
可用的选项如下:- Company Admin(公司管理员)
- Read Only(只读)
-
Token Expiry (Minutes)(令牌过期时间(分钟)) – 输入从此密钥生成的令牌在多少时间(单位为分钟)后过期。最小为 5 分钟,最大为 24 小时(1440 分钟)。令牌过期后,您需要生成新的访问令牌。
-
-
点击 Generate Key(生成密钥)。
将创建 API 密钥,并出现 Your API Key 提示。

重要
复制新的 API Key 和 API Key Secret,并将这些凭据安全保存。您需要使用它们来生成访问令牌。请确保复制 API Key Secret,因为关闭此提示后将不再显示。
-
点击 Copy(复制),位于 API Key(API 密钥) 字段右侧,并将该密钥(客户端 ID)粘贴到安全的位置。
-
点击 Copy(复制),位于 API Key Secret(API 密钥 Secret) 字段右侧,并将客户端密钥粘贴到安全的位置。
-
点击 Close(关闭)。
已创建 API 密钥,并显示在屏幕的 Active API Keys 区域。
在 Active API Keys 区域,您可以编辑密钥名称、删除密钥,以及查看该密钥发生的更改历史。
生成访问令牌
创建包含客户端 ID 和客户端密钥的 API 密钥后,您可以生成访问令牌以对 API 用户进行身份验证。以下说明描述了如何使用 Postman 和 Megaport 集合执行此操作。有关 Postman 的设置详情,参见 Megaport API。
需要使用的请求 URL 取决于您生成访问令牌的环境。在每个环境中,应使用以下请求 URL:
- 生产环境 – https://auth-m2m.megaport.com/oauth2/token
- Staging(测试)环境 – https://auth-m2m-staging.megaport.com/oauth2/token
这些说明描述了如何在生产环境中生成访问令牌。 更多信息,参见 Megaport API 和 Megaport Authentication - API Keys。
注意
访问令牌可以调用哪些 API 端点,取决于创建 API 密钥时为其选择的角色。例如,Read Only(只读)API 密钥对可访问的数据限制将多于 Company Admin(公司管理员)API 密钥。
在 Postman 中生成访问令牌
- 在导入到 Postman 的 Megaport 集合中,点击加号图标以添加新请求。
- 在 Request URL(请求 URL) 字段左侧的下拉列表中,选择 POST。

- 在 Request URL(请求 URL) 字段中,输入以下请求 URL:
https://auth-m2m.megaport.com/oauth2/token

- 选择 Authorization(授权) 选项卡,并输入以下参数详细信息:
- Username(用户名) – 您在创建 API 密钥时复制的客户端 ID。
- Password(密码) – 您在创建 API 密钥时复制的客户端密钥。
注意
这些参数包含敏感数据。如果您在协作环境中工作,可能希望将客户端 ID 和客户端密钥分别设置为变量 {{apiKeyClientId}} 和 {{apiKeyClientSecret}}。有关变量的更多信息,请参阅 Postman 文档
- 选择 Body(正文) 选项卡,并输入名为 grant_type 的键,其值设置为 client_credentials。

- 点击 Save(保存)。
显示 Save Request 屏幕。

- 在 Request name(请求名称) 字段中,为新请求输入一个有意义的名称。
例如,Generate Access Token。 - (可选)输入该请求的描述。
- 选择要将请求保存到的位置,然后点击 Save(保存)。
新请求已创建并添加到 Megaport API Documentation 集合中。 -
点击 Send(发送)。

您将收到包含访问令牌的响应,类似于下面的示例。生成访问令牌后,它可以用于在 Megaport Portal 中对各种端点的 API 用户进行身份验证。 -
复制访问令牌。
- 在该集合的变量中(点击导入的 Megaport 集合后面的三个点 > Edit > Variables),添加一个名为 access_token 的条目,并将访问令牌粘贴到 CURRENT VALUE(当前值) 字段。
- 对于需要发送的每个 API 调用,在 Authorization(授权) 选项卡中,将 Type 设置为 Bearer Token,并将 Token 设置为访问令牌变量 {{access_token}}。

现在可以使用该 API 调用了。 所有 API 调用都通过 SSL/TLS 发起,并且每次调用都会根据访问令牌进行权限验证。
注意
访问令牌会过期,因此您需要定期为 API 调用生成新的令牌。过期时长由创建 API 密钥时在 Token Expiry (Minutes)(令牌过期时间(分钟)) 字段中输入的值决定。默认过期时长为 24 小时。
API 请求包含两个重要的请求头参数:Authorization 和 Content-Type。Authorization 参数指向设置令牌变量的 Authorization 选项卡。
使用 cURL 生成令牌
另一种生成访问令牌的方法是在命令控制台中使用 cURL,格式如下:
curl -X "POST" "https://auth-m2m.megaport.com/oauth2/token" \
-H 'Content-Type: application/x-www-form-urlencoded' \
-u '<api_key>:<api_key_secret>' \
--data-urlencode "grant_type=client_credentials"
提示
dev.megaport.com 站点可让您查看每个 API 端点在多种编程语言中的示例。