检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
到您的API所在分组。请检查API所在的分组域名,例如您有多个API分组,每个分组有自己的独立域名,API调用时,使用了其他分组的独立域名。 检查API是否使用OPTIONS跨域请求,如果使用OPTIONS跨域请求,请在API中开启CORS,并创建OPTIONS方式的API。具体操作请参考开启跨域共享。
API调用是否支持长连接 API网关支持长连接。 注意适当使用,避免占用太多资源。 父主题: 常见问题
用通过API网关开放的云服务API,提供签名流程与实现逻辑,以及Java、Go、Python、C等多种不同语言的签名SDK和调用示例。 部分云服务开放的API,不通过API网关,签名认证流程请先参考云服务自身提供的API参考手册。 各云服务API参考手册中的“如何调用API”章节,介绍了认证方法。
signer.cpp signer.h constants.h Makefile Makefile文件 main.cpp 示例代码 请求签名与API调用 在main.cpp中加入以下引用。 1 2 3 4 5 #include <stdio.h> #include <stdlib.h>
Studio官方网站下载。 获取SDK 点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 apigateway-signature\Signer.cs SDK代码 apigateway-signature\HttpEncoder.cs sdk-request\Program
检查APP是否授权访问API APIGW.0305 Incorrect authentication information. 401 认证信息错误 检查认证信息是否正确 APIGW.0306 API access denied. 403 不允许访问API 检查是否授权访问API APIGW.0307
nish”。 完成工程创建后,目录结构如下。 请求签名与API调用 在命令行中,使用pip安装“requests”库。 1 pip install requests 在工程中引入apig_sdk。 1 2 from apig_sdk import signer import requests
3986规范化URI路径,移除冗余和相对路径部分,路径中每个部分必须为URI编码。如果URI路径不以“/”结尾,则在尾部添加“/”。 举例: URI具体见云服务的API参考手册,每个API章节都提供对应的资源路径。如虚拟私有云服务的查询VPC列表:/v1/{project_id}/vpcs,此时规范的URI编码为:
子项目场景下怎么调用API 子项目场景下调用API: 如果您的资源在子项目中,调用云服务API时需要增加一个请求消息头参数X-Project-Id,参数值填您的项目ID。 参数X-Project-Id相关操作请参见签名SDK与demo。 父主题: 常见问题
获取方式请参考获取账号名和账号ID。 x-stage API接口的环境,请参考各云服务的接口API的环境信息。 Host API接口所属分组的调试域名或独立域名。 请参考各云服务的接口所属API分组中的域名信息。 API调用。 本手册提供Java、Go、Python、C等多种不
1b84a1d2381bb430d6870f4f6ebe 得到签名消息头后,将其增加到原始HTTP请求内容中,请求将被发送给云服务API网关,由API网关完成身份认证。身份认证通过后,该请求才会发送给具体的云服务进行业务处理。 包含签名信息的完整请求如下: GET /v1/77b
JavaScript 本节以IntelliJ IDEA工具为例,介绍如何在Js环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 以搭建Node.js开发环境为例介绍JavaScript的SDK集成。 签名SDK只包含
"error_code": "APIGW.0303", "request_id": "a5322eb8904***d705491a76a05aca" } 可能原因 appkey配置错误。 解决方法 在API网关控制台页面的左侧导航栏中选择“API管理 > 凭据管理”。 单击对应的凭据名称,进入凭据详情。
Android 本节以Android Studio工具为例,介绍如何在Android环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 准备环境 获取并安装Android Studio 4.1.2或以上版本,可至Android
PHP 本节以IntelliJ IDEA工具为例,介绍如何在PHP环境中集成API请求签名的SDK。您可以直接导入示例工程体验,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IntelliJ
Name:填写“apig-sdk-maven-demo”。 Build system:选择“Maven” JDK:用户自己的版本。 IDEA支持在当前窗口或新窗口创建工程。此处,在弹窗中单击“New Window”。 把示例工程中的“src”和“libs”文件夹复制到apig-sdk-maven-demo工程下。
计算签名 将SK(Secret Access Key)和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign))
常见问题 子项目场景下怎么调用API API调用是否支持长连接 Body体是否可以不参与签名 请求消息头参数是否可以不参与签名 使用临时AK/SK做签名 IAM认证信息错误 APP认证信息错误 "The API does not exist or has not been published
fail, ...... "error_code": "APIGW.0301", "request_id": "******" } 可能原因 签名认证算法使用有问题,客户端计算的签名结果与API网关计算的签名结果不同。 解决方法 下载js版本,查看可视化签名SDK,获取签名字符串。
signer_common.h signer.c signer.h Makefile Makefile文件 main.c 示例代码 请求签名与API调用 在main.c中加入以下引用。 1 2 3 4 5 #include <stdio.h> #include <stdlib.h> #include