检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
签名SDK与demo Java Go Python C# JavaScript PHP C++ C Android 父主题: AK/SK签名认证操作指导
400 非法请求 检查请求是否合法 APIGW.0605 Domain name resolution failed. 500 域名解析失败 检查域名拼写,以及域名是否绑定了正确的后端地址 APIGW.0606 Failed to load the API configurations
RequestParams.h signer.cpp signer.h constants.h Makefile Makefile文件 main.cpp 示例代码 请求签名与API调用 在main.cpp中加入以下引用。 1 2 3 4 5 #include <stdio.h> #include <stdlib
contained in the body must be escaped. r.body = ""; 添加需要签名的其他头域,或者其他用途的头域,如API的环境信息添加x-stage,多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 1
常见问题 子项目场景下怎么调用API API调用是否支持长连接 Body体是否可以不参与签名 请求消息头参数是否可以不参与签名 使用临时AK/SK做签名 IAM认证信息错误 APP认证信息错误 "The API does not exist or has not been published
AK/SK签名认证算法详解 AK/SK签名认证流程 构造规范请求 创建待签字符串 计算签名 添加签名信息到请求头
AK/SK签名认证操作指导 AK/SK签名认证操作流程 获取EndPoint 获取AK/SK 获取项目ID 获取账号名和账号ID 签名SDK与demo
请求消息头参数是否可以不参与签名 如果您按照AK/SK签名认证算法详解自行完成API请求签名,请注意X-Sdk-Date必须参与签名,其他请求消息头参数可选。 如果您使用华为云提供的SDK进行签名,则不需要考虑哪些请求消息头参数参与签名,SDK的签名方法自行决定哪些参数参与签名,并生成签名信息。如果某个请求消息
-Project-Id。 获取方式请参考获取项目ID。 X-Domain-Id 账号ID,用途: Token认证方式下获取Token。 AK/SK认证方式下,全局服务的接口调用,需在请求消息头中配置X-Domain-Id。(全局服务:服务部署时不区分物理区域。如IAM、OBS、CDN等。)
添加需要签名的其他头域,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 /Add header parameters, for example, X-Domain-Id for invoking a global service and X-Project-Id
addQueryStringParam("name", "value"); request.addHeader("Content-Type", "text/plain"); //request.setBody("demo"); } catch (Exception e) { e.printStackTrace();
token fail Incorrect IAM authentication information: Get secretKey failed Incorrect IAM authentication information: verify aksk signature fail {
签名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
X-Security-Token:{securityToken} 然后使用临时AK/SK对请求进行签名,签名SDK与AK/SK的签名SDK一致。 创建一个API,安全认证选择“华为IAM认证”,并发布。 获取当前账号的临时AK/SK与{securityToken},请参考IAM接口文档。 例如获得响应参数为: {
verify signature fail, canonicalRequest { "error_msg": "Incorrect app authentication information: verify signature fail, canonicalReque
mark ("), contained in the body must be escaped. $req->body = ''; 添加需要签名的其他头域,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 1 2 3 4
Signature=26b2***dbf6] [main] INFO com.huawei.apig.sdk.demo.HttpClientDemo - Print the status line of the response: HTTP/1.1 200 OK [main] INFO com.huawei
mark ("), contained in the body must be escaped. r.body = ''; 添加需要签名的其他头域,或者其他用途的头域,如多项目场景中添加X-Project-Id,或者全局服务场景中添加X-Domain-Id。 1 2 //Add
点此下载SDK与Demo。 解压后目录结构如下: 名称 说明 apig_sdk\__init__.py SDK代码 apig_sdk\signer.py main.py 示例代码 licenses\license-requests 第三方库license文件 示例工程导入 打开IDEA,选择菜单“File