所有指南

存储目标

为 Google Drive 创建 Google Cloud 项目

西瓜备份只需要你自己的 Google Cloud 项目中的 iOS OAuth 客户端 ID。不要手动创建服务账号、API key、client secret 或 Drive 文件夹。

更新 2026年8月16日

需要准备什么

  • 一个用于存放备份的 Google 账号。
  • 创建或选择 Google Cloud 项目的权限。
  • iOS 版 Watermelon Backup。它的 Bundle ID 固定是 com.zizicici.watermelon
  • Testing 配置大约需要五分钟。长期使用 External/Production 还需要一个你拥有并能验证所有权的公开 HTTPS 主页和隐私政策。
  • 这个流程不需要付费 Google Cloud 服务、API key、服务账号、client secret、下载的 credentials.json、Firebase 项目,也不需要手动创建 Drive 文件夹。

创建或选择项目

  • 打开 Google Cloud 控制台:新建项目
  • 建议使用独立项目,例如命名为 Watermelon Backup,避免 OAuth 受众群体、配额和凭据和其他 App 混在一起。
  • 点击创建,等待项目创建完成,然后确认项目选择器中已经选中这个新项目。
  • Watermelon Backup 不会要求你填写 Google 生成的项目 ID。

启用 Google Drive API

  • 打开 API 库中的 Google Drive API
  • 确认项目选择器仍然是上一步的项目。
  • 点击启用。
  • 只需要 Google Drive API。不需要 Drive Activity API、Drive Labels API、Google Picker API、API key 或服务账号。

设置 Google Auth 平台和 App Domain

  • 打开 Google Auth 平台:品牌推广。如果页面提示尚未配置 Google Auth 平台,请点击开始使用。
  • 应用名称可以使用易识别的名字,例如 Watermelon Backup;用户支持邮箱请选择你能接收邮件的地址。
  • 个人项目不需要上传应用图标。上传图标或使用更正式的公开品牌信息,可能会触发品牌验证。
  • 如果要把 External App 发布为 Production,请先在 App Domain 里填写公开 HTTPS 主页和隐私政策。主页需要说明这个 OAuth App 是为 Watermelon Backup 提供个人 Google Drive 连接,不能只是登录页。
  • 在 Authorized domains 中添加可注册域名,并用同一个项目 Owner 或 Editor 账号在 Google Search Console 验证域名所有权。

选择受众群体和发布状态

  • 打开 受众群体。只有在 Google Workspace 组织内、并且所有使用者都属于该组织时,才选择 Internal;其他情况选择 External。
  • External 处于 Testing 状态时,请在测试用户中加入要登录的准确 Google 账号。
  • 如果要长期使用后台备份,请按 Google 要求补齐公开主页、隐私政策和已授权网域后,将 External App 发布为 Production。如果 Watermelon Backup 是在 Testing 状态下授权的,发布后需要重新连接一次 Google Drive 节点
  • 发布状态和 OAuth 验证不是一回事。Watermelon Backup 使用的 Drive 权限范围属于 non-sensitive,但 External production App 仍然需要公开页面、已授权网域和准确的品牌信息。

添加准确的权限范围

  • 打开 Google Auth 平台:数据访问权限
  • 选择添加或移除范围。如果列表里找不到某个范围,可以使用手动添加范围。
  • 添加 openid,用于确认 Google 账号身份。
  • 添加 https://www.googleapis.com/auth/userinfo.email,用于显示已授权的账号邮箱。Watermelon Backup 实际请求的是等价的 OpenID Connect 简写 email;Google 也可能默认列出这个身份范围。
  • 添加 https://www.googleapis.com/auth/drive.file,让 Watermelon Backup 创建和管理由这个 OAuth App 关联的文件。
  • 添加 https://www.googleapis.com/auth/drive.appdata,用于存放很小的隐藏锁定控制记录。
  • 不要添加 https://www.googleapis.com/auth/drivedrive.readonly 等整盘访问范围。

创建 iOS OAuth 客户端

  • 打开 Google Auth 平台:Clients(客户端)
  • 点击 Create client(创建客户端)。
  • Application type(应用类型)选择 iOS。
  • Name(名称)只会显示在控制台中,可以写 Watermelon iOS
  • Bundle ID 必须准确填写 com.zizicici.watermelon
  • App Store ID 和 Team ID 保持空白,除非你的项目里 Google 明确要求填写。
  • 创建客户端。如果 Google 在客户端编辑页显示 Firebase App Check,请保持关闭,不要强制启用。
  • 只复制 Client ID(客户端 ID)。它必须以 .apps.googleusercontent.com 结尾。
  • 请把这个 Client ID 和节点配置一起保存好。第二台设备、重装 App 或恢复 Watermelon Backup 数据库时,应复用同一个 Google Cloud 项目、同一个 iOS Client ID 和同一个 Google 账号,才能连接到同一个备份仓库身份。

在 Watermelon Backup 中使用

  • 在 Watermelon Backup 中选择添加 Google Drive。
  • 把 Client ID(客户端 ID)粘贴到 OAuth 客户端 ID。不要粘贴项目 ID、数字项目编号、client secret 或 JSON 配置。
  • 点击「使用 Google 登录」,并使用允许的账号登录。
  • 同意所有请求的访问权限,不要取消任意一个 Drive 权限。
  • 回到 Watermelon Backup,等待 App 在“我的云端硬盘”中创建或协调 Watermelon Backup 仓库,把隐藏锁定记录存入 Drive App Data,完成写入检查后保存节点。

常见配置问题

  • 提示 Access blocked 或账号不允许:在受众群体 > 测试用户中加入准确的 Google 账号;如果是 Workspace 管理账号,可能还需要管理员允许这个 OAuth 客户端。
  • 授权后无法回到 Watermelon Backup:确认客户端类型是 iOS,并且 Bundle ID 准确填写 com.zizicici.watermelon
  • Drive API disabled 或 403:确认同一个项目已启用 Google Drive API,并且 drive.filedrive.appdata 和身份权限范围已经保存在数据访问权限中。
  • 大约七天后又要求登录:将 External App 发布为 Production,然后重新连接一次 Google Drive 节点。
  • 出现 App Check 相关错误:关闭这个 iOS OAuth 客户端的强制 App Check。仅开启监控不会阻止 OAuth,但强制启用会阻止。
  • 出现 deleted_clientinvalid_client:OAuth 客户端被删除、复制错误,或属于其他应用类型。可在 Google Cloud 中恢复可恢复的客户端,或创建新的 iOS 客户端后重新连接节点。
  • 用户在 Google 账号第三方访问里撤销授权后,已保存的刷新令牌会失效。Google 也可能删除连续六个月未使用的 OAuth 客户端;Watermelon Backup 的正常 token refresh 会计入使用。

下载西瓜备份

在 App Store 下载西瓜备份,然后按本文在 iPhone 上完成对应操作。

免费下载