Google Drive

为 Google Drive 创建你自己的 OAuth 客户端

CloudDrive2 添加 Google Drive 时,使用你在自己的 Google Cloud 项目中创建的 OAuth 客户端。创建免费,约需 5 分钟,只需做一次。以下步骤在 Google Cloud 控制台中完成,按钮名称以英文界面为准。

背景

为什么需要自己的客户端

Google 要求能访问全部 Google Drive 文件的应用通过 Google 验证,并每年完成一次安全评估。CloudDrive2 的客户端目前没有通过验证,只有已加入其测试用户名单的少量 Google 账号可以通过它登录,其他账号的登录会被 Google 拒绝。

使用你自己创建的客户端时,这个应用只由你本人使用,不需要提交验证。登录和令牌交换由你设备上运行的 CloudDrive2 直接与 Google 完成,不经过 CloudDrive2 的服务器。

在 Google Cloud 控制台中

创建步骤

用你要添加到 CloudDrive2 的 Google 账号登录 Google Cloud 控制台,也可以用另一个 Google 账号。

  1. 创建项目

    打开 console.cloud.google.com/projectcreate。Project name 可任意填写,例如 clouddrive2;Location 保持 No organization。点击 Create,创建完成后在通知中点击 Select project,确认页面顶部显示的是这个项目。

  2. 启用 Google Drive API

    打开 Google Drive API 页面,点击 Enable。没有启用时,添加 Google Drive 会失败,并提示需要启用 Google Drive API。

  3. 设置 OAuth 同意屏幕

    打开 Google Auth Platform,点击 Get started,然后依次填写:

    • App information:App name 可任意填写;User support email 选择你的邮箱。点击 Next。
    • Audience:选择 External。点击 Next。
    • Contact information:填写你的邮箱。点击 Next。
    • Finish:勾选同意 Google API Services: User Data Policy,点击 Continue,再点击 Create。
  4. 发布应用(必须)

    在左侧菜单点击 Audience,在 Publishing status 下点击 Publish app 并确认,状态变为 In production。发布不需要提交验证。

    如果保持 Testing 状态,Google 签发的刷新令牌会在 7 天后失效,届时 CloudDrive2 将无法访问这个 Google Drive。

  5. 创建「桌面应用」客户端并下载文件

    在左侧菜单点击 Clients → Create client。Application type 选择 Desktop app,Name 可任意填写,点击 Create。

    在弹出的窗口中点击 Download JSON,保存文件 client_secret_….json。Google 只在创建时显示一次客户端密钥;如果关闭了窗口而没有下载,需要在该客户端中添加一个新的密钥。

    请勿选择 Web application。这种类型不能使用本机回调地址,登录时 Google 会显示 redirect_uri_mismatch 错误。

在 CloudDrive2 中

添加 Google Drive

  1. 填写客户端信息

    在 CloudDrive2 中选择「添加云盘」→「Google Drive」。选择下载的客户端文件,客户端 ID 和客户端密钥会自动填写;也可以手动复制填写。

  2. 登录 Google 并授权

    点击「登录 Google 并授权」,浏览器会打开 Google 登录页面。

    • 页面显示 Google hasn't verified this app 时,这是你自己创建的应用,点击 Advanced,再点击 Go to 应用名称 (unsafe)。
    • 在权限页面勾选访问 Google Drive 文件的选项,点击 Continue。

    完成后浏览器显示「Google Drive added」,CloudDrive2 中的对话框会自动完成。

  3. 浏览器与 CloudDrive2 不在同一台设备时

    例如在电脑浏览器中管理 NAS 或 Docker 上的 CloudDrive2:授权后浏览器会打开一个无法访问的页面,地址以 http://127.0.0.1 开头。复制地址栏中的完整地址,粘贴到 CloudDrive2 对话框中的「浏览器中的地址」,点击「完成」。

如果你已经有这个客户端的刷新令牌,也可以勾选「我已有此客户端的刷新令牌」,直接填写客户端 ID、客户端密钥和刷新令牌。

如果你的 Google 账号已加入 CloudDrive2 的测试用户名单,也可以在登录方式中选择「CloudDrive 的 Google 客户端(仅限测试用户)」,不需要创建客户端。

Apple TV · Android TV

电视设备

电视上通常没有浏览器,无法完成 Google 登录。请在手机、电脑或网页管理界面中添加 Google Drive;开启「同步数据到云端」后,账号会同步到登录同一 CloudDrive2 账号的电视上。也可以在电视上直接填写客户端 ID、客户端密钥和刷新令牌。

常见问题

常见问题

Google 页面显示 redirect_uri_mismatch

客户端类型不是 Desktop app。按第 5 步重新创建一个 Desktop app 客户端。

7 天后 Google Drive 无法访问

应用仍处于 Testing 状态。按第 4 步发布应用,然后重新添加 Google Drive。

提示需要启用 Google Drive API

按第 2 步在同一个项目中启用 Google Drive API,然后重新添加。

提示未授予 Google Drive 访问权限

在 Google 的权限页面中,需要勾选访问 Google Drive 文件的选项。

当前网络无法访问 Google

CloudDrive2 需要访问 oauth2.googleapis.com 和 www.googleapis.com。添加 Google Drive 时在代理设置中设置 API 代理;浏览器也需要能够打开 Google 页面。

未验证的应用有 100 名用户的上限,会影响我吗

这个上限只在你把同一个客户端提供给其他人使用时才有影响。个人使用,包括添加你自己的多个 Google 账号,不受影响。

如何撤销 CloudDrive2 的访问权限

在 myaccount.google.com/permissions 中移除你创建的应用。