Google Console:如何通过API添加Authorized redirect URIs?
可用API解决方案
有,你可以通过Google的Cloud Resource Manager API配合IAM权限来脚本化管理OAuth 2.0客户端凭据的授权重定向URI,核心是调用projects.credentials.oauth2client.update方法实现批量或自动更新。
操作步骤
- 启用必需API:在Google Cloud Console中,为目标项目启用Cloud Resource Manager API和IAM Credentials API。
- 配置权限:创建一个服务账号,授予它
roles/iam.securityAdmin或roles/resourcemanager.projectOwner权限(按需选择最小权限),并下载服务账号的JSON密钥文件用于脚本认证。 - 编写脚本调用API:以Python为例,使用官方客户端库实现更新:
from google.oauth2 import service_account from googleapiclient.discovery import build # 配置参数 SERVICE_ACCOUNT_KEY_PATH = 'your-service-account-key.json' PROJECT_ID = 'your-project-id' OAUTH_CLIENT_ID = 'your-oauth-client-id' # 初始化API客户端 credentials = service_account.Credentials.from_service_account_file( SERVICE_ACCOUNT_KEY_PATH, scopes=['https://www.googleapis.com/auth/cloud-platform'] ) resource_manager_service = build('cloudresourcemanager', 'v1', credentials=credentials) # 注意:需传入完整的重定向URI列表,API会直接覆盖原有配置 updated_redirect_uris = [ 'https://existing-uri-1.com/callback', 'https://new-uri-to-add.com/callback' ] # 发起更新请求 update_request = resource_manager_service.projects().credentials().oauth2client().update( name=f'projects/{PROJECT_ID}/credentials/oauth2client/{OAUTH_CLIENT_ID}', body={'oauth2Client': {'redirectUris': updated_redirect_uris}} ) response = update_request.execute() print('重定向URI更新完成:', response)
关键注意事项
- 若要追加新URI而非覆盖,需先调用
projects.credentials.oauth2client.get方法获取当前的URI列表,再添加新条目后提交更新。 - 确保服务账号的权限范围最小化,避免过度授权带来的安全风险。
- 其他编程语言(如Node.js、Java)可通过对应官方客户端库实现相同逻辑,核心API调用端点一致。
内容的提问来源于stack exchange,提问作者Vishal
相关产品推荐
相关产品推荐

