# Dynamic 已关联 Google 但钱包备份失败：检查 Drive 权限与份额条件

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/dynamic-google-linked-backup-failed
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

针对现有备份报错，核对两项 OAuth scope、应用配置和成功记录，区分普通云备份与离线恢复。

## 使用工具
- [Dynamic](https://lianxiaozhi.com/tools/dynamic) · [官方入口](https://www.dynamic.xyz/)

## 前置条件
- 准备使用 Dynamic 的具体应用、当前公开钱包地址、账户页备份状态、错误原文和检查时间；不上传 key share、密码或 OAuth token。
- 适用当前 JavaScript Google Drive backup 正文；应用若采用 Swift/Kotlin、旧 React SDK 或自定义恢复流程，先向支持确认对应方案。
- 检查已有记录即可，不清空本地份额、不删除云文件，也不为了验收备份充值或签一笔交易。

## 1. 固定账户与备份目标

从当前应用提供的账户或备份页面记录选中的钱包地址与链；多个内嵌钱包不能只按主账户美元总值定位。核对这是用户 embedded 钱包，还是开发方管理的 agent/server 钱包。

找到应用已提供的 Backup to Google Drive 入口及现有状态。入口缺失可能来自环境未启用，不能按 Dynamic 品牌推断所有账户自动备份。

核对结果：地址、链、账户模式与实际入口可对应。
依据：[Dynamic：当前 Embedded Wallets Overview](https://www.dynamic.xyz/docs/embedded-wallets/overview.md)
依据：[Dynamic：按 SDK 划分 Chain Support](https://www.dynamic.xyz/docs/embedded-wallets/chains/overview.md)

## 2. 检查关联 Google 与 Drive 授权是否分离

查看先前 Google 同意页或应用错误，所需权限是 drive.appdata 与 drive.file。官方说明两项勾选默认关闭，只点 Continue 可能关联了 Google 但上传失败。

如本人决定重新授予备份权限，先核对 Google 账号与请求应用，明确两项用途后在官方授权页处理；普通 Google 登录不等于 Drive 权限。排查只保存权限名称和错误，不保存 token。

核对结果：关联成功和备份上传权限分别记录，缺一项不判合格。
依据：[Dynamic JavaScript：Google Drive backup setup](https://www.dynamic.xyz/docs/javascript/wallets/embedded-wallets/mpc/google-drive-backup.md)

## 3. 按原错误定位应用配置

若原错误含 Google Drive API has not been used 或 disabled，提供原文给应用支持，由其核对 Google Cloud 项目 API 与 Dynamic 环境；用户重试登录不能修复服务端未启用配置。

若提示权限不足，要求应用核对 readiness 或提供官方重新授权路径。未知错误则保存版本、时间和公开地址，不把所有失败都归为用户没勾选。

核对结果：错误对应权限、应用配置或仍未知的分支。
依据：[Dynamic JavaScript：Google Drive backup setup](https://www.dynamic.xyz/docs/javascript/wallets/embedded-wallets/mpc/google-drive-backup.md)

## 4. 确认成功上传与密码条件

核对应用最终备份成功状态、目标地址与时间；单纯 Google 账号已关联不够。文档提供 wallet.keyShares.backedUpToExternal 成功事件，应用支持可据其排查上传是否完成。

核对本人是否设置了份额加密密码及如何保管；记录有/无/未知，不展示密码。云文件存在、OAuth 完成或 SDK 成功提示都不能单独证明未来恢复可行。

核对结果：上传结果与密码条件分开，没有把登录回执当恢复验收。
依据：[Dynamic：Wallet backup 模型](https://www.dynamic.xyz/docs/embedded-wallets/mpc/google-drive-backup.md)
依据：[Dynamic JavaScript：Google Drive backup setup](https://www.dynamic.xyz/docs/javascript/wallets/embedded-wallets/mpc/google-drive-backup.md)

## 5. 确定普通备份、委托还是离线恢复

普通云备份、启用 Delegated Access 后的份额分配、Offline Recovery 是不同路径。委托开启时 Drive 份额可能与本地相同，复制两份文件并不产生两个独立恢复份额；委托也是允许应用执行批准操作的权限。

专门离线恢复需要事先产生另一对份额：Google Drive 中的一份与开发方 webhook 保存的一份，还需取得并解密。没有开发方份额或具体恢复方案时标为条件缺失，不能承诺 Dynamic 停机也一定可找回。

核对结果：记录当前恢复模式与必需材料，离线可恢复性仍需实际验收。
依据：[Dynamic JavaScript：Google Drive backup setup](https://www.dynamic.xyz/docs/javascript/wallets/embedded-wallets/mpc/google-drive-backup.md)
依据：[Dynamic：Offline Recovery](https://www.dynamic.xyz/docs/embedded-wallets/mpc/offline-recovery.md)
依据：[Dynamic：Delegated Access Overview](https://www.dynamic.xyz/docs/embedded-wallets/mpc/delegated-access/overview.md)

## 常见错误
- Google 登录、Drive 授权、文件上传和恢复成功是四种结果。
- 两个副本可能是同一份额，不能只数文件判断阈值。
- Gasless、委托和网络支持按链/SDK有区别，备份成功不扩大这些能力。

## 完成检查
- 保留目标地址、授权 scope、原错误和最终上传状态。
- 已分清当前份额模型、密码条件及开发方依赖，没有服务停机恢复保证。
- 本文按官方文档整理；未实际授予 OAuth、创建备份、委托或恢复钱包。

## 相关知识
- [钱包签消息与签交易有什么区别？不付 Gas 的签名也要读内容](https://lianxiaozhi.com/learn/wallet-message-vs-transaction)

## 官方依据
- [Dynamic：当前 Embedded Wallets Overview](https://www.dynamic.xyz/docs/embedded-wallets/overview.md)
- [Dynamic：按 SDK 划分 Chain Support](https://www.dynamic.xyz/docs/embedded-wallets/chains/overview.md)
- [Dynamic：Wallet backup 模型](https://www.dynamic.xyz/docs/embedded-wallets/mpc/google-drive-backup.md)
- [Dynamic JavaScript：Google Drive backup setup](https://www.dynamic.xyz/docs/javascript/wallets/embedded-wallets/mpc/google-drive-backup.md)
- [Dynamic：Offline Recovery](https://www.dynamic.xyz/docs/embedded-wallets/mpc/offline-recovery.md)
- [Dynamic：Delegated Access Overview](https://www.dynamic.xyz/docs/embedded-wallets/mpc/delegated-access/overview.md)
