检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Interface)是基于HTTP协议,通过对API的操作来实现客户端和服务器之间的通信,一种用于构建网络应用程序的软件架构风格。它广泛应用于Web开发、移动应用程序开发和云服务等领域,成为了现代应用程序开发的重要组成部分。 API的开放和调用需要遵循RESTful相关规范,创建REST API分以下步骤: 配置API的前端信息
使用APP认证调用API 认证前准备 APP认证工作原理 Java Go Python C# JavaScript PHP C++ C Android curl
使用场景 API网关主要涉及以下几个开发场景: API调用认证开发:API的认证方式为APP认证或IAM认证,则需要在业务系统侧进行调用认证的开发,为API请求添加认证信息。 使用APP认证(签名认证)调用API:API调用者通过API网关提供Key、Secret和SDK,对API请求进行签名认证。
token fail Incorrect IAM authentication information: Get secretKey failed Incorrect IAM authentication information: verify aksk signature fail {
对后端服务进行签名 签名前准备 Java Python C#
SDK代码 signer_common.h signer.c signer.h Makefile Makefile文件 main.c 示例代码 调用API示例 在main.c中加入以下引用。 #include <stdio.h> #include <stdlib.h> #include
new Dictionary<string, string>(); foreach (var pair in request.Query) { query[pair.Key] = pair.Value; } sdkRequest.query = query; WebHeaderCollection
调用API报“No backend available” 检查后端服务是否可以访问,如果不能访问,请修改后端服务。 检查后端服务对应的ECS安全组配置,查看是否已开放您需要的端口。 检查后端服务地址是否使用公网IP地址,如果使用,需要在APIG控制台的“实例管理 > 查看控制台 >
API的后端服务报“Backend domain name resolution failed” APIG实例所在的VPC完成了内网域名解析,后端服务调用仍报“域名无法解析”错误。 可能原因 APIG实例所在的VPC与用户后端服务所在的VPC存在网络隔离,内网域名解析仅在用户后端服务所在的VPC下能够解析。
], "password": { "user": { "name": "{user_name}", "domain": { "name": "{user_name}" }, "password": "{password}"
RequestParams.h signer.cpp signer.h Makefile Makefile文件 main.cpp 示例代码 调用API示例 在main.cpp中加入以下引用。 #include <stdio.h> #include <stdlib.h> #include
PI,减少开发时间与成本。 例如,企业A在API网关中开放了电话号码归属地查询API,并发布到API云商店。企业B通过API云商店调用此API,并支付调用此API所产生的费用。此时,企业A通过开放业务能力,使自身服务能力变现,企业B直接调用企业A开放的API,减少开发时间与成本,最终实现企业间的共赢。
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
x-apigateway-result-failure-sample: fail 父主题: APIG的API设计文件扩展定义
zip”压缩包,解压后目录结构如下: 名称 说明 apig_sdk\__init__.py SDK代码 apig_sdk\signer.py main.py 示例代码 backend_signature.py 后端签名示例代码 licenses\license-requests 第三方库license文件
doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) { //签名校验代码 ... } } doFilter函数为签名校验代码。校验流程如
API的后端服务报“Backend unavailable”或“Backend timeout” 以下原因可能导致后端服务调用失败或者超时,请逐一排查。 原因 解决方案 后端服务地址错误。 在编辑API中修改后端服务地址。 如果是域名,请确认域名能正确解析到后端服务IP地址。 后端超时时间设置不合理。
addQueryStringParam("name", "value"); request.addHeader("Content-Type", "text/plain"); request.setBody("demo"); } catch (Exception e) { e.printStackTrace();
Go 操作场景 使用Go语言调用APP认证的API时,您需要先获取SDK,然后新建工程,最后参考调用API示例调用API。 本章节以IntelliJ IDEA 2022.2.1版本为例介绍。 前提条件 已获取API的调用信息,具体参见认证前准备。 已安装Go安装包1.14或以上版
curl 操作场景 使用curl命令调用APP认证的API时,您需要先下载JavaScript SDK生成curl命令,然后将curl命令复制到命令行调用API。 前提条件 已获取API的调用信息,具体参见认证前准备。 调用API示例 使用JavaScript SDK生成curl命令。