Google Sheets API 允许开发者通过编程方式读取、写入和管理 Google Sheets 文档中的数据。使用 Python 访问 Google Sheets API 需要先设置 API 访问权限,获取访问令牌,并使用相应的库(如 google-api-python-client
)来进行 API 调用。
Google Sheets API 提供了多种类型的 API 调用,包括:
spreadsheets.values.get
,用于读取指定单元格或范围的数据。spreadsheets.values.update
,用于更新指定单元格或范围的数据。batchUpdate
,用于执行多个 API 调用。解决方法:
google-auth
和 google-auth-oauthlib
库进行身份验证,并获取访问令牌。解决方法:
首先,安装必要的库:
pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
然后,使用以下代码示例进行 API 调用:
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
import googleapiclient.discovery
# 设置 API 访问范围
SCOPES = ['https://www.googleapis.com/auth/spreadsheets']
# 加载客户端配置文件
creds = None
if os.path.exists('token.json'):
creds = Credentials.from_authorized_user_file('token.json', SCOPES)
if not creds or not creds.valid:
if creds and creds.expired and creds.refresh_token:
creds.refresh(Request())
else:
flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
creds = flow.run_local_server(port=0)
with open('token.json', 'w') as token:
token.write(creds.to_json())
# 创建 Google Sheets API 客户端
service = googleapiclient.discovery.build('sheets', 'v4', credentials=creds)
# 示例:读取指定范围的数据
sheet_id = 'your_sheet_id'
range_name = 'Sheet1!A1:B2'
result = service.spreadsheets().values().get(spreadsheetId=sheet_id, range=range_name).execute()
values = result.get('values', [])
print(values)
请注意,上述代码示例中的 your_sheet_id
和 credentials.json
文件路径需要根据实际情况进行替换。同时,确保已正确设置 API 访问权限并获取访问令牌。
领取专属 10元无门槛券
手把手带您无忧上云