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

使用Google Photo APIs时,如何从共享URL获取mediaItemId?

关于Google Photos API获取共享照片mediaItemId的解决方案

首先明确一点:你提供的这种https://photos.app.goo.gl/开头的短共享链接,本身并不直接包含mediaItemId——它本质是一个跳转链接,指向真正的共享相册页面。要获取里面的照片mediaItemId,得按以下步骤来:

步骤1:解析短链接,获取共享相册的访问令牌

先对这个短链接发送一个HEAD或GET请求,提取响应头里的Location字段,这会得到类似https://photos.google.com/share/xxxx?key=ABCDEFG12345的目标URL,其中的key参数就是这个共享相册的albumToken。

步骤2:通过API获取共享相册ID

调用Google Photos API的albums.search接口,把刚才拿到的albumToken作为参数传入,请求示例如下:

GET https://photoslibrary.googleapis.com/v1/albums:search?albumToken=ABCDEFG12345

返回的响应里会包含该共享相册的id(相册ID),这是后续获取媒体项的关键。

步骤3:获取相册内的mediaItemId列表

有了相册ID后,调用mediaItems.search接口,指定albumId参数为刚才获取的相册ID,请求示例:

POST https://photoslibrary.googleapis.com/v1/mediaItems:search
Content-Type: application/json

{
  "albumId": "你的相册ID",
  "pageSize": 100
}

这个接口会返回相册内所有媒体项的列表,每一项的id就是你需要的mediaItemId,同时还包含照片的下载链接等信息。

注意事项

  • 确保你的API请求已经获得了正确的权限,比如photoslibrary.readonly(只读访问)或photoslibrary.appcreateddata(如果是你自己创建的相册)。
  • 该共享相册必须是公开可访问的,或者你的授权账号拥有访问权限,否则API会返回权限错误。
  • 解析短链接时,避免直接加载页面内容,通过HTTP头获取跳转目标效率更高,也更稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:02:40