Python调用REST与SOAP API全指南|JSON、分页与OAuth实战
作者:API传播员 · 2025-10-12 · 阅读时间:5分钟
本文详细介绍了如何在Python中调用REST API和SOAP服务,包括JSON数据的读取、分页处理、错误处理以及OAuth认证的使用。通过示例代码,展示了从REST API获取JSON数据、使用WHERE子句筛选数据、从本地文件读取数据、将数据存储为CSV文件等操作,以及如何通过OAuth连接Google Sheets和读取Gmail信息。
一. 环境要求
在开始之前,请确保您的开发环境已经安装了 Python,并能够正常运行 Python 脚本。此外,您需要安装一些必要工具和库,例如 pip 和 pyodbc。
二. 快速入门
1. 安装pip
如果系统尚未安装 pip,可参考官方文档进行安装:https://pip.pypa.io/en/stable/installing/
2. 安装pyodbc
安装 pip 后,在终端或命令提示符中运行以下命令安装 pyodbc:
pip install pyodbc
三. Python获取JSON数据示例
创建一个名为 zappyodbc.py
的 Python 文件,用于通过 ODBC 驱动获取 JSON 数据:
import pyodbc
# 示例:连接 REST API 并获取 JSON 数据
connection = pyodbc.connect('DRIVER={ZappySys JSON Driver};URL=https://example.com/api/data;')
cursor = connection.cursor()
cursor.execute("SELECT * FROM data")
for row in cursor:
print(row[0])
注意:Python 对缩进敏感,请确保复制代码时保持正确缩进。
1. 使用WHERE子句筛选数据
cursor.execute("SELECT CustomerID, CompanyName FROM Customers WHERE Country='Germany'")
for row in cursor:
print(row)
2. 从本地JSON文件获取数据
import json
with open('customer1.json', 'r') as file:
data = json.load(file)
print(data)
3. 读取多个JSON文件
import glob
import json
for file_name in glob.glob('customer*.json'):
with open(file_name, 'r') as file:
data = json.load(file)
print(data)
4. 将REST API或JSON数据保存为CSV文件
import csv
data = [{"CustomerID": 1, "CompanyName": "Company A"}, {"CustomerID": 2, "CompanyName": "Company B"}]
with open('customer.csv', 'w', newline='') as csvfile:
fieldnames = ['CustomerID', 'CompanyName']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
5. 使用OAuth连接Google Sheets
-
在 Windows ODBC 数据源中添加 ZappySys JSON 驱动
-
配置 URL:
https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}
-
选择 OAuth 认证,并填写客户端 ID 和密钥
-
生成令牌后获取数据:
cursor.execute("SELECT * FROM GoogleSheetData")
for row in cursor:
print(row)
6. 读取Gmail信息
- 添加 ODBC DSN 连接 Gmail
- 配置 URL:
https://gmail.googleapis.com/gmail/v1/users/me/messages
- OAuth 设置选择 Google 并添加邮件权限作用域
cursor.execute("SELECT Sender, Recipient, IP FROM GmailData")
for row in cursor:
print(row)
四. 调用XML SOAP Web服务
1. SOAP Web服务简介
SOAP(Simple Object Access Protocol)是一种基于 XML 的协议,用于网络信息交换。调用步骤:
- 获取 WSDL 文件或 URL
- 确定 Web 服务 URL
2. 使用ZappySys XML驱动调用SOAP API示例
SELECT * FROM $
WITH(
Src='http://www.holidaywebservice.com/HolidayService_v2/HolidayService2.asmx',
DataConnectionType='HTTP',
CredentialType='Basic',
UserName='myuser',
Password='mypassword',
RequestMethod='POST',
RequestData='US'
)
3. 使用 SoapUI 测试SOAP
- 打开 SoapUI,创建 SOAP 项目
- 输入 WSDL URL,例如:
http://www.dneonline.com/calculator.asmx?wsdl
- 配置 SOAP 请求参数并测试响应
五. SOAP/REST API分页处理
1. 按响应属性分页
SELECT * FROM $
WITH(
Src='https://example.com/api/data',
NextUrlAttributeOrExpr='$.nextlink'
)
2. 按URL参数分页
SELECT * FROM $
WITH(
Src='https://example.com/api/data?page=1',
PagingMode='ByUrlParameter',
PagingByUrlAttributeName='page',
IncrementBy=1
)
六. 错误处理机制
ODBC PowerPack 提供多种错误处理方式:
- 自动跳过网络异常
- 配置重试机制,针对不稳定服务多次尝试
七. 总结
本文介绍了如何在 Python 中调用 REST API 与 SOAP 服务,包括:
- JSON 数据获取与处理
- 多文件与本地文件操作
- 分页处理与错误处理
- OAuth 认证的应用
通过本文示例,您可以轻松实现 Web 服务的数据集成与操作。
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- 完整指南:如何在应用程序中集成和使用ChatGPT API
- Amazon Bedrock × Stability AI:直播配图API批量渲染7天训练营
- InterSystems IRIS 2022.2 使用 JWT 保护 REST API 教程
- API分析 – 什么是 API 分析?
- 天文信息检索服务:如何让星空探索变得触手可及?
- 如何使用DBAPI快速搭建自己的API平台
- Workers AI合作模型助力短剧制作平台脚本生成API实战
- 如何获取 GPT-OSS API 密钥(分步指南)
- 人脸识别 API 合规升级下的银行开放 API 2025 全栈实战清单
- GPT-OSS 模型驱动在线编程课 AI 助教,3 天打造追问式对话 API
- Kimi K2-0905 256K上下文API状态管理优化:长流程复杂任务实战
- Go工程化(四) API 设计上: 项目结构 & 设计