检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
"The API does not exist or has not been published in the environment."如何解决? 调用API网关中开放的API报错,请按以下顺序排查可能原因: 调用API所使用的域名、请求方法、路径不正确。 比如创建的API为POST方法,您使用了GET方法调用。
"error_code": "APIGW.0303", "request_id": "fd6530a01c09807640189e65e837b8ad" } 可能原因 客户端签名时间戳x-sdk-date与APIGW服务器时间相差超过15min。 解决办法 检查客户端时间是否正确。 父主题:
概述 本手册将介绍如何使用AK/SK签名认证方式调用通过API网关开放的云服务API,提供签名流程与实现逻辑,以及Java、Go、Python、C等多种不同语言的签名SDK和调用示例。 部分云服务开放的API,不通过API网关,签名认证流程请先参考云服务自身提供的API参考手册。
PHP 本节以IntelliJ IDEA工具为例,介绍如何在PHP环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IntelliJ
sig.Secret = os.getenv('HUAWEICLOUD_SDK_SK') 生成一个新的Request,指定域名、方法名、请求uri和body。 以虚拟私有云服务的查询VPC列表接口为例,HTTP方法为GET,域名(Endpoint)为service.region.example
Go 本节以IntelliJ IDEA工具为例,介绍如何在Go环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备IDEA开发环境 获取并安装IntelliJ
C# 本节以Visual Studio工具为例,介绍如何在C#环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装Visual
JavaScript 本节以IntelliJ IDEA工具为例,介绍如何在Js环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 以搭建Node.js开发环境为例介绍JavaScript的SDK集成。 签名SDK只包含
Android 本节以Android Studio工具为例,介绍如何在Android环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 准备环境 获取并安装Android Studio 4.1.2或以上版本,可至Android
获取AK/SK 如果已生成过AK/SK,则可跳过此步骤,找到原来已下载的AK/SK文件,文件名一般为:credentials.csv。 如下图所示,AK(Access Key Id),SK(Secret Access Key)。 图1 credential.csv文件内容 注意事项
息头参数可选。 如果您使用华为云提供的SDK进行签名,则不需要考虑哪些请求消息头参数参与签名,SDK的签名方法自行决定哪些参数参与签名,并生成签名信息。如果某个请求消息头参数的值在签名后会发生变化,请完成签名后再对其赋值。 父主题: 常见问题
project”。 在左侧工程下展开“src”文件,双击“HttpClientDemo”,如下图有绿色箭头表示创建成功。 API调用 示例代码修改调用环境信息后可直接调用。以下以新建工程为例,介绍如何在您的应用中调用SDK进行请求签名。 把API信息替换到HttpClientDemo.java中对应位置。
<stdlib.h> #include <string.h> #include <curl/curl.h> #include "signer.h" 生成一个新的Signer,将AK/SK分别填入。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEI
确保客户端签名、API网关后台认证时使用的请求内容一致。 使用规范请求和其他信息创建待签字符串。 使用AK/SK和待签字符串计算签名。 将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。 以下做详细介绍。 本章节主要用于帮助用户自行完成API请求的签名。
格式为YYYYMMDDTHHMMSSZ。 HashedCanonicalRequest 将构造规范请求中构造的规范请求以SHA256算法生成的hash值。 上述例子得到的待签字符串为: SDK-HMAC-SHA256 20191115T033655Z b25362e603ee3
"The API does not exist or has not been published in the environment."如何解决?
转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign)) 其中HMAC指密钥相关的哈希运算,HexEncode指转十六进制。伪代码中参数说明如表1所示。 表1 参数说明 参数名称
<stdlib.h> #include <string.h> #include <curl/curl.h> #include "signer.h" 生成一个sig_params_t类型的变量, 填入AK和SK。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变
D,所以需要先在管理控制台上获取到账号名和账号ID。账号名和账号ID获取步骤如下: 登录控制台。 将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”。 查看账号名和账号ID。 图1 查看账号名和账号ID 父主题: AK/SK签名认证操作指导
将鼠标移至页面右上角的用户名处,在下拉列表中单击“我的凭证”,查看“项目ID”。 项目用于对云服务器资源进行物理隔离,默认有region级别的隔离,也可在Region下建立多项目,做更细级别的隔离。因此,请参考下图,在右侧列表中找到您的服务器资源对应的Region(所属区域),在其左侧列表中获取项目ID。