使用api接口进行调用(附案例,多种语言均可实现)

2025-06-02 23:05:30      世界杯排名球队

1 写在前面

本篇文章做学习记录使用,文中若有不妥之处,欢迎批评和指正。因为曾打过有关比赛,使用到了api接口的调用的经验,综合比赛经验和学习经验,写下这篇文章。注意:当学会api接口调用后,会使开发变得更加容易。但应该不仅限于api接口的调用,同时也需要学习api接口的开发。这样才能不断精进。下面内容全是自己心得,没有像官方或者网上的话术,语言可能不华丽,烦请见谅。

2 API接口说明

2.1 什么是api接口

我自己的理解(可能有误,啊哈哈哈哈)就是为了使各大开发者更快完成一个项目功能,api功能开发商提供一个调用地址,每次访问(调用),返回给开发者想要的信息。作为开发者,对于一些复杂的功能,直接采用接口调用方式访问,这样好像更快;对于提供者,编写出来的功能,是不想直接将代码提供给开发者的,所以就开发出了接口,提供给开发者,这样既方便也避免了背后代码的暴露。

2.2 api常见用途

在大部分的开发上,api接口调用的运用是非常广泛的。例如我作为个人开发者,我开发的app或者是桌面应用程序上需要显示一个今日天气的功能,但是我不晓得这个功能背后代码怎么编写,怎么能实时将天气显示出来,这个时候api接口调用就起作用了,市面上会存在天气接口的提供商,只不过有些是付费调用,有些是免费调用。

api接口调用技术已经很完善了,支持大部分语言。像阿里云、腾讯云、华为云提供的很多云上功能,都支持接口调用。比如像:短信验证、图像识别接口、AI大模型接口调用等。

2.3 api接口常见返回格式

对于api接口的返回,常见格式就是json格式,不用我多说,相信大部分人都知道这个格式。当你每次调用后,会返回一串json数据过来。但是这串json数据,有大部分数据是你不需要的,你只需要其中的关键信息,这个时候就涉及到了json数据格式的解析。具体方法,在下文的案例说明,下面附上常见jaon返回的图片:

3 API接口调用测试工具

我喜欢用apipost,能自动生成各种代码。也可以在线使用这个工具。Apipost-API 文档、设计、调试、自动化测试一体化协作平台https://www.apipost.cn/

4 案例

4.1 案例1:调用AI大模型,与AI对话

曾经在打比赛的时候使用过百度智能云模型,但是这里案例采用deepseek的模型调用。下面是具体的步骤。

4.1.1 步骤一

先到deepseek的开发者平台充钱,它的调用非常便宜,为了学习和练手,1-5块钱都很合适。这里是他的网站:DeepSeek 开放平台。下面是该开放平台的界面展示。

4.1.2 步骤二

进行充值后,然后获取自己的apikey,这个是调用里面的一个重要参数,是访问该api接口的鉴权。注意,这个apikey在第一次创建的时候能完整显示,后面就无法完整显示了。所以请务必复制保存。

4.1.3 步骤三

查看他的开发者文档,当然你也可以看本教程来实现。但是一个好的开发习惯应该是要阅读官方给出的文档,这样才能形成自己的知识。注意官方文档的代码写法,这些都是值得学习的。deepseek提供两种模型的调用,一个是R1模型(具备深度思考的模型),另一个是V3模型。本文采用的是R1模型。下图是两种模型的调用价格。

官方给出了两种调用方式,一个是通过openai调用,另一个是通过网络请求的方式,在python语言中可以通过requests库进行实现。本文采用openai方式实现,配合自己的需求实现了获取建议功能,采用python语言,下面是代码示例。

from openai import OpenAI

def run_api(api_key, sensor_data):

try:

client = OpenAI(api_key=api_key, base_url="https://api.deepseek.com")

# 执行 API 请求

response = client.chat.completions.create(

model="deepseek-chat", # 你也可以替换成deepseek-reasoner模型(不含有深度思考的模型)

messages=[

{"role": "system", "content": "你是楼道消防智能管家,具备丰富的消防知识!"}, #赋予系统角色,定义系统的行为

{"role": "user",

"content": f"我制作了基于物联网的楼道消防系统,通过相关的传感器获取了温湿度、烟雾浓度、一氧化碳浓度、火焰强度。"

f"其中温度的值为{sensor_data['temp']}°C, 湿度的值为{sensor_data['humi']}%RH, 烟雾浓度的值为{sensor_data['smoke']}ppm, "

f"一氧化碳浓度为{sensor_data['CO']}ppm, 火焰强度浓度为{sensor_data['fire']}%。请根据这些数据, 提供楼道消防的建议!"},

],# # 赋予用户角色,并发起相关的对话

max_tokens=4096,# 设置最大返回的token数

temperature=1.6,# 这个值越大,结果越随机1-2间选择

stream=False # 是否开启流式返回,流式返回就是返回的结果是分段的,适合长文本的返回,会一下一下的通过json返回

)

# 返回结果

return response.choices[0].message.content

except Exception as e:

# 捕获异常并返回错误信息

return f"请求失败: {str(e)}"

# 示例调用

if __name__ == "__main__":

# 你的 API 密钥

api_key = "***********************"# 替换为你的API密钥

# 示例传感器数据

sensor_data = {

'temp': 30,

'humi': 50,

'smoke': 20,

'CO': 15,

'fire': 5

}

# 调用函数并打印结果

result = run_api(api_key, sensor_data)

print(result)

结果会以文本返回,注意不是json返回,如果需要json格式返回,可以尝试流式输出或者是网络请求的写法。返回结果展示如下。

4.2 案例2:调用天气接口,获得今日天气

4.2.1 步骤一

选取天气平台的API提供商,这里随便在网上找了个网站,仅当学习使用。该接口也有详细的使用方法。天气预报-中国气象局免费API - 提供免费接口调用平台

4.2.2 步骤二

开始调用,这里的调用我们采用apipost工具。该工具可以在线调用并且生成各种代码。

Apipost-API 文档、设计、调试、自动化测试一体化协作平台Apipost是集API设计、API调试、API文档、自动化测试为一体的API研发协同平台,支持grpc,http,websocket,socketio,socketjs类型接口调试,支持私有化部署。https://www.apipost.cn/

5 API调用集成案例示范

我在打比赛的时候,将api接口调用天气的值集成到开发的app中,达到了今日天气的一个看板。下面是相关的一个展示。采用的api服务商是和风天气,下面有他们的网站,该api服务商可以免费的调用,非常不错,推荐使用。可以自己去摸索和风天气api的调用。控制台 | 和风天气https://console.qweather.com/home#/apps?lang=zh

如果有不懂的,遇到问题的,可以私信我交流,相互讨论和学习。api调用方式多种多样,可以通过各种语言进行实现。欢迎交流。

为什么老外歧视红头发?西方人瞧不起红头发的主要原因
抖音怎么买热搜(抖音怎么买热搜需要多少钱)