You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Photos API mediaItems仅返回25条,如何获取下一分页数据?

Google Photos API mediaItems接口分页拉取完整数据方法

Google Photos Library API的mediaItems.list接口默认单页返回最多25条资源,所有批量类接口都采用分页机制避免单次响应数据量过大,这是只能拉取到25条数据的原因。

核心分页参数说明

  • pageSize:可选参数,用于指定单页返回的最大条目数,最高支持设置为100,调整该参数可减少总请求次数
  • pageToken:可选参数,填写上一次接口返回的nextPageToken值即可获取对应下一页的结果,当无后续数据时,接口返回的nextPageToken字段为空

完整拉取所有照片的代码示例

import googleapiclient.discovery

# 初始化服务(保持原有初始化逻辑不变即可)
gphoto_service = googleapiclient.discovery.build(
    'photoslibrary', 'v1', credentials=creds, static_discovery=False
)

all_photos = []
page_token = None

while True:
    # 构造请求参数,指定单页最大100条,存在分页token时携带该参数
    request_params = {
        "pageSize": 100
    }
    if page_token:
        request_params["pageToken"] = page_token
    
    # 执行接口请求
    response = gphoto_service.mediaItems().list(**request_params).execute()
    # 追加当前页的照片数据到总列表
    if "mediaItems" in response:
        all_photos.extend(response["mediaItems"])
    
    # 检查是否还有下一页,没有则终止循环
    page_token = response.get("nextPageToken")
    if not page_token:
        break

# 输出总照片数验证结果
print(len(all_photos))

注意事项

  • 该接口有调用频率限制,短时间大量请求可能触发限流,若遇到报错可适当添加请求间隔
  • 若只需要拉取特定相册的内容,可额外添加albumId参数到请求参数中,对应目标相册的ID即可

内容的提问来源于stack exchange,提问作者chencyu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 18:12:03