菜鸟科技网

百度API如何使用?入门教程指南

百度API的使用教程主要涉及注册申请、接口选择、代码调用及结果处理等环节,以下是详细步骤说明:

百度API如何使用?入门教程指南-图1
(图片来源网络,侵删)

注册百度智能云账号并创建应用

  1. 注册账号:访问百度智能云官网(https://cloud.baidu.com/),点击“注册”按钮完成手机号验证和邮箱注册,建议使用企业邮箱以便通过实名认证。
  2. 实名认证:登录后在“账号中心”完成个人或企业实名认证,企业认证需提供营业执照等材料,认证通过后才能调用付费API。
  3. 创建应用:进入“管理控制台”→“人工智能”→“管理”,点击“创建应用”,填写应用名称(如“测试项目”)并选择应用类型(默认“默认应用”),创建后获取API Key(AK)和Secret Key(SK),这是调用接口的身份凭证,需妥善保管。

选择并开通目标API服务

  1. 浏览API市场:在控制台“产品服务”中分类查找所需API,图像技术”“自然语言处理”“语音技术”等,或直接搜索关键词(如“图像识别”)。
  2. 开通服务:点击目标API卡片进入详情页,选择“开通服务”,部分免费API可直接使用,付费API需绑定充值方式(支持微信、支付宝等),开通后可在“服务管理”查看已开通接口的配额和调用次数限制。

获取Access Token(调用凭证)

大多数百度API需要通过Access Token(AT)进行身份验证,获取方式如下:

import requests
def get_access_token():
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {
        "grant_type": "client_credentials",
        "client_id": "你的API Key",
        "client_secret": "你的Secret Key"
    }
    response = requests.post(url, params=params)
    return response.json()["access_token"]
access_token = get_access_token()

注意事项

  • AT有效期为30天,需定时刷新并避免频繁请求(建议缓存复用)。
  • 免费用户每日AT获取次数有限,超限将返回错误码18(Access Token invalid)。

调用API接口(以图像识别为例)

以“通用物体识别”接口为例,说明完整调用流程:

接口参数准备

参数名 必填 说明
image 图片base64编码或URL地址(需公网可访问),base64编码需去除前缀data:image/xxx;base64,
top_num 返回结果数量(1-10,默认5)
baike_num 返回百科信息数量(0-10,默认0)

代码实现(Python示例)

import base64
import requests
def image_recognition(image_path, access_token):
    request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general"
    with open(image_path, "rb") as f:
        image_base64 = base64.b64encode(f.read()).decode("utf-8")
    headers = {"Content-Type": "application/x-www-form-urlencoded"}
    params = {
        "access_token": access_token,
        "image": image_base64,
        "top_num": 5
    }
    response = requests.post(request_url, headers=headers, data=params)
    return response.json()
result = image_recognition("test.jpg", access_token)
print(result)

返回结果解析

接口返回JSON格式数据,示例:

百度API如何使用?入门教程指南-图2
(图片来源网络,侵删)
{
  "log_id": 123456789,
  "result_num": 3,
  "result": [
    {
      "score": 0.987,
      "root": "植物",
      "name": "玫瑰",
      "baike_info": {"baike_url": "https://baike.baidu.com/item/玫瑰"}
    },
    ...
  ]
}
  • score:置信度(0-1),越接近1表示识别准确率越高。
  • root:分类根节点,name为具体分类名称。

错误处理与优化

  1. 常见错误码
    • 18:AT无效或过期,需重新获取。
    • 18(配额不足):免费版每日调用量用尽,需升级付费版。
    • 111:图片格式不支持,仅支持jpg、png等格式。
  2. 性能优化
    • 使用异步请求(如aiohttp)提高并发处理能力。
    • 对高频调用结果进行本地缓存,减少API请求次数。

多语言调用示例(Java)

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
public class BaiduAPI {
    public static String getAccessToken(String apiKey, String secretKey) throws Exception {
        URL url = new URL("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + apiKey + "&client_secret=" + secretKey);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        String result = in.readLine();
        in.close();
        return result.split("\"")[7]; // 提取access_token
    }
    public static String callAPI(String accessToken, String imageBase64) throws Exception {
        URL url = new URL("https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general?access_token=" + accessToken);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setDoOutput(true);
        String param = "image=" + imageBase64;
        conn.getOutputStream().write(param.getBytes());
        BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        return in.readLine();
    }
}

相关问答FAQs

Q1:百度API的免费额度如何查询?是否支持升级?
A1:登录百度智能云控制台,进入“费用中心”→“资源监控”,可查看各API的免费调用次数和已使用量,如需升级,可在对应API的“服务管理”页面点击“变更配置”,选择按量计费或包年包月套餐,付费后即时生效。

Q2:调用API时提示“签名错误”如何解决?
A2:签名错误通常由AK/SK错误或参数格式问题导致,请检查:① 确认AK/SK是否正确复制(无多余空格);② 检查请求参数是否按官方文档要求编码(如base64图片需去除前缀);③ 部分接口需在URL中拼接access_token参数,而非放在请求体中,若仍无法解决,可使用百度智能云提供的“签名调试工具”比对请求格式。

百度API如何使用?入门教程指南-图3
(图片来源网络,侵删)
分享:
扫描分享到社交APP
上一篇
下一篇