Unity中如何将图片保存至Google Photos公开相册
上传截图到Google Photos公开相册的可行方法
手动上传(适合单次操作)
- 打开Google Photos网页版或移动端APP,找到你创建的公开相册并进入详情页
- 点击「添加照片」按钮(网页版在顶部导航栏,APP通常在底部或右上角)
- 选择本地存储的截图文件,确认上传即可。上传完成后,截图会自动加入该公开相册,权限与相册保持一致
自动化/API上传(适合批量或程序集成场景)
如果需要通过代码实现自动上传,可借助Google Photos Library API完成,步骤如下:
- 登录Google Cloud控制台,创建新项目并启用「Photos Library API」
- 配置OAuth consent screen,添加权限范围
https://www.googleapis.com/auth/photoslibrary.appendonly(仅追加权限,足够满足上传需求) - 获取OAuth 2.0客户端凭据,实现认证流程获取访问令牌(需处理用户授权环节)
- 调用API完成上传并关联到目标相册
简单Python示例代码
import requests # 替换为实际值 ACCESS_TOKEN = "你的访问令牌" ALBUM_ID = "目标公开相册ID" IMAGE_PATH = "本地截图文件路径" # 第一步:上传媒体文件获取上传令牌 upload_headers = { "Authorization": f"Bearer {ACCESS_TOKEN}", "Content-Type": "application/octet-stream", "X-Goog-Upload-Protocol": "raw", "X-Goog-Upload-File-Name": "screenshot.png" } with open(IMAGE_PATH, "rb") as img_file: upload_token = requests.post("https://photoslibrary.googleapis.com/v1/uploads", headers=upload_headers, data=img_file).text # 第二步:将媒体添加到指定相册 batch_payload = { "albumId": ALBUM_ID, "newMediaItems": [ { "description": "上传的截图", "simpleMediaItem": {"uploadToken": upload_token} } ] } response = requests.post( "https://photoslibrary.googleapis.com/v1/mediaItems:batchCreate", headers={"Authorization": f"Bearer {ACCESS_TOKEN}"}, json=batch_payload ) print("上传结果:", response.json())
注意事项
- 确保目标相册本身处于公开状态,上传的照片会自动继承该权限
- API访问令牌有有效期,需实现刷新令牌机制以维持长期访问
- 上传的照片会同时存在于你的Google Photos个人库和目标公开相册中
内容的提问来源于stack exchange,提问作者Yuri
相关产品推荐
相关产品推荐

