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

2023年Google Photos API使用求助:公开相册访问及认证疑问

2023年Google Photos API JavaScript示例(适配新身份验证)及公开相册访问说明

关于公开相册的认证要求

是的,即使访问公开相册,调用Google Photos API也必须通过OAuth 2.0认证。Google Photos API的设计逻辑是所有请求都需要身份验证,目的是限制请求频率、防止滥用,哪怕是公开可见的资源也不例外。没有无需认证的公开访问端点可用。

适配新身份验证的2023年JS示例

你遇到的废弃提示是因为使用了旧版的gapi.auth2认证库,2023年之后需要改用Google Identity Services (GIS)客户端库,以下是完整的适配示例:

1. 引入GIS脚本

在HTML中添加:

<script src="https://accounts.google.com/gsi/client" async defer></script>

2. 初始化授权客户端并调用API

// 替换为你的Google Cloud客户端ID
const CLIENT_ID = "YOUR_CLIENT_ID";
// 要访问的公开相册ID
const ALBUM_ID = "TARGET_ALBUM_ID";
// 只读权限范围足够访问相册内容
const SCOPES = ["https://www.googleapis.com/auth/photoslibrary.readonly"];

function initGoogleAuth() {
  // 初始化GIS客户端
  google.accounts.oauth2.initTokenClient({
    client_id: CLIENT_ID,
    scope: SCOPES.join(" "),
    callback: handleTokenResponse,
  });
}

function handleTokenResponse(response) {
  if (response.error !== undefined) {
    throw response;
  }
  // 令牌获取成功,调用albums.get接口
  fetch(`https://photoslibrary.googleapis.com/v1/albums/${ALBUM_ID}`, {
    headers: {
      "Authorization": `Bearer ${response.access_token}`
    }
  })
  .then(res => res.json())
  .then(data => {
    console.log("相册内容:", data);
    // 在这里处理返回的相册数据
  })
  .catch(err => console.error("API调用失败:", err));
}

// 触发授权流程
function startAuthFlow() {
  const tokenClient = google.accounts.oauth2.getTokenClient();
  tokenClient.requestAccessToken({prompt: "consent"});
}

// 页面加载完成后初始化
document.addEventListener("DOMContentLoaded", initGoogleAuth);

前置准备

  • 在Google Cloud Console中创建项目,启用「Photos Library API」
  • 配置OAuth同意屏幕(测试阶段可选择「外部」类型,添加测试用户)
  • 生成Web应用类型的客户端ID,替换示例中的YOUR_CLIENT_ID

关键说明

  • 使用GIS库替代旧的gapi.auth2,可以解决你遇到的废弃提示问题
  • 授权范围使用photoslibrary.readonly即可,无需请求写权限
  • 如果访问他人的公开相册,需确保该相册设置为「任何人都能查看」,且你的授权账号可以通过浏览器正常访问该相册

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 08:36:27