前提条件
- Google 账号:需要一个有效的 Google 账号。
- Google Cloud Platform (GCP) 项目:需要在 GCP 中创建一个项目。
- 权限:确保你有足够的权限访问 Google Cloud 项目和相关 API。
详细步骤
第一步:登录 Google Cloud Platform 控制台
- 打开 Google Cloud Platform 控制台:
https://console.cloud.google.com/ - 登录你的 Google 账号。
第二步:创建 GCP 项目
- 点击页面顶部的 “选择项目”,然后点击 “新建项目”。
- 填写以下信息:
- 项目名称:输入你项目的名称(如
MyDriveAPIProject
)。 - 组织和位置:根据需要选择,默认情况下可以留空。
- 项目名称:输入你项目的名称(如
- 点击 “创建”。
- 创建成功后,系统会将你切换到新项目。
第三步:启用 Google Drive API
- 在 GCP 控制台中,进入 “API 和服务” > “库”。
- 在搜索栏中输入
Google Drive API
,然后点击搜索结果中的 “Google Drive API”。 - 点击 “启用” 按钮,启用此 API。
第四步:创建 OAuth 2.0 凭据
- 转到 “API 和服务” > “凭据”。
- 点击页面顶部的 “创建凭据” 按钮。
- 在弹出的菜单中选择 “OAuth 客户端 ID”。
- 系统可能会提示你配置 OAuth 同意屏幕,按照以下步骤操作:
- 点击 “配置同意屏幕”。
- 用户类型:
- 如果应用仅供自己或团队使用,选择 “内部”。
- 如果面向公众用户,选择 “外部”。
- 填写以下必要信息:
- 应用名称:填写你的应用名称。
- 用户支持邮箱:填写你的邮箱。
- 开发者联系信息:填写你的邮箱。
- 点击 “保存并继续”。
- 配置完成后,回到创建凭据页面,选择以下内容:
- 应用类型:选择
Web 应用
或桌面应用
(根据你的需求)。 - 名称:为客户端 ID 命名(如
MyDriveClientID
)。 - 授权重定向 URI:
- 如果是 Web 应用,输入你的回调 URI(如
http://localhost
或你的服务器地址)。 - 如果是桌面应用,输入默认值
urn:ietf:wg:oauth:2.0:oob
。
- 如果是 Web 应用,输入你的回调 URI(如
- 应用类型:选择
- 点击 “创建”。
第五步:获取客户端 ID 和 Secret Key
- 创建完成后,系统会生成一个 客户端 ID 和 客户端密钥(Secret Key)。
- 点击 下载 JSON 按钮,将凭据保存为文件(通常命名为
client_secret.json
)。- 确保将此文件保存在安全的地方。
第六步:测试 API
- 使用 Google 官方的 API 客户端库(如 Python、Java、Node.js 等)调用 API。
- 在代码中加载
client_secret.json
,并完成用户授权流程。 - 示例 Python 代码:
python复制代码
from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # 定义范围 SCOPES = ['https://www.googleapis.com/auth/drive'] # 加载凭据 flow = InstalledAppFlow.from_client_secrets_file( 'client_secret.json', SCOPES) creds = flow.run_local_server(port=0) # 构建服务对象 service = build('drive', 'v3', credentials=creds) # 测试 API 调用 results = service.files().list(pageSize=10).execute() files = results.get('files', []) for file in files: print(f"{file['name']} ({file['id']})")
常见问题
- “权限不足”错误:
- 检查你是否启用了 Google Drive API。
- 确保使用的范围(scope)正确,例如
https://www.googleapis.com/auth/drive
。
- 如何重新生成密钥?
- 返回 “API 和服务” > “凭据” 页面,找到对应的 OAuth 客户端 ID,点击 “编辑” 或 “删除” 后重新创建。
- 如何共享 API?
- 如果需要将此 API 项目共享给其他开发者,可以在 IAM 和管理 > IAM 中添加其他用户,并分配适当的角色(如
编辑者
或开发者
)。
- 如果需要将此 API 项目共享给其他开发者,可以在 IAM 和管理 > IAM 中添加其他用户,并分配适当的角色(如