资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

使用访问凭证access_token鉴权调用API流程

本文介绍了使用访问凭证access_token鉴权调用API的流程。

API 调用流程简介

API 的调用流程如下图所示。

image.png

  1. 创建应用。创建千帆ModelBuilder应用后,获取AppID、API Key、Secret Key 等信息。
  2. API 授权。平台已默认开通API调用权限,无需申请授权。
  3. 获取接口访问凭证 access_token。调用获取access_token接口获取 access_token ,通过 access_token 鉴权调用者身份。
  4. 调用API接口

API 调用流程

步骤一. 创建应用

(1)登录千帆ModelBuilder控制台。

请您注册并登录千帆ModelBuilder控制台

注意:为保障服务稳定运行,账户最好不处于欠费状态。

(2)创建千帆ModelBuilder应用

  • 如果无应用,需创建应用。

控制台-模型服务-应用接入-我的应用页面,点击创建应用。

  • 如果已有应用,此步骤可跳过。

注意: 需创建旧版应用,即非v2协议模型服务接口对应的应用。如果是V2协议模型服务对应的应用,无API Key、Secret Key,更多说明请参考名词解释

(3)创建应用后,获取API Key、Secret Key。

image.png

步骤二. API授权

平台已默认开通API调用权限,无需申请授权。

步骤三. 获取访问凭证

根据步骤一获取的API Key、Secret Key,获取access_token。参考以下获取access_token,更多详情方法请参考获取access_token

注意:access_token默认有效期30天,生产环境注意及时刷新。

# 替换下列示例中的 API Key与Secret Key
curl 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【API Key】&client_secret=【Secret Key】'
# 替换下列示例中的API Key与Secret Key
import requests
import json


def main():
        
    url = "https://aip.baidubce.com/oauth/2.0/token?client_id=【API Key】&client_secret=【Secret Key】&grant_type=client_credentials"
    
    payload = json.dumps("")
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    return response.json().get("access_token")
    

if __name__ == '__main__':
    access_token = main()
    print(access_token)
    

步骤四. 调用API接口

调用千帆ModelBuilder提供的相关API接口,详见API列表。 例如,调用模型ERNIE-3.5-8K,示例如下:

# 使用步骤三获取的access_token值,替换下列示例中的“步骤三调用接口获取的access_token”
curl -X POST 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=[步骤三调用接口获取的access_token]' -d '{
   "messages": [
    {"role":"user","content":"你好"}
   ]
}'
import requests
import json

# 使用步骤三获取的access_token值,替换下列示例中的“步骤三调用接口获取的access_token”
def main():
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=[步骤三调用接口获取的access_token]"
    
    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": "你好"
            }
        ]
    })
    headers = {
        'Content-Type': 'application/json'
    }
    
    response = requests.request("POST", url, headers=headers, data=payload)
    
    print(response.text)
    

if __name__ == '__main__':
    main()
上一篇
API调用流程
下一篇
基于安全认证AK和SK鉴权调用API流程