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 账号。
-
创建项目
打开 console.cloud.google.com/projectcreate。Project name 可任意填写,例如
clouddrive2;Location 保持 No organization。点击 Create,创建完成后在通知中点击 Select project,确认页面顶部显示的是这个项目。 -
启用 Google Drive API
打开 Google Drive API 页面,点击 Enable。没有启用时,添加 Google Drive 会失败,并提示需要启用 Google Drive API。
-
设置 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。
-
发布应用(必须)
在左侧菜单点击 Audience,在 Publishing status 下点击 Publish app 并确认,状态变为 In production。发布不需要提交验证。
如果保持 Testing 状态,Google 签发的刷新令牌会在 7 天后失效,届时 CloudDrive2 将无法访问这个 Google Drive。
-
创建「桌面应用」客户端并下载文件
在左侧菜单点击 Clients → Create client。Application type 选择 Desktop app,Name 可任意填写,点击 Create。
在弹出的窗口中点击 Download JSON,保存文件
client_secret_….json。Google 只在创建时显示一次客户端密钥;如果关闭了窗口而没有下载,需要在该客户端中添加一个新的密钥。请勿选择 Web application。这种类型不能使用本机回调地址,登录时 Google 会显示
redirect_uri_mismatch错误。
在 CloudDrive2 中
添加 Google Drive
-
填写客户端信息
在 CloudDrive2 中选择「添加云盘」→「Google Drive」。选择下载的客户端文件,客户端 ID 和客户端密钥会自动填写;也可以手动复制填写。
-
登录 Google 并授权
点击「登录 Google 并授权」,浏览器会打开 Google 登录页面。
- 页面显示 Google hasn't verified this app 时,这是你自己创建的应用,点击 Advanced,再点击 Go to 应用名称 (unsafe)。
- 在权限页面勾选访问 Google Drive 文件的选项,点击 Continue。
完成后浏览器显示「Google Drive added」,CloudDrive2 中的对话框会自动完成。
-
浏览器与 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 中移除你创建的应用。