Google Marketplace App 是一种允许开发者将其应用集成到 Google Workspace (原 GSuite) 生态系统的平台。当创建这样的应用时,可以通过服务账号(Service Account)来授权 API 访问权限。
服务账号是一种特殊类型的 Google 账号,代表应用程序而非个人用户,用于服务器间通信和自动化流程。
首先需要在 Google Cloud Console 中创建一个新项目。
在 API 和服务库中启用你的应用需要的 Google API,例如:
如果你的应用需要代表用户访问数据,需要配置域范围授权:
from google.oauth2 import service_account
from googleapiclient.discovery import build
# 服务账号凭据文件路径
SERVICE_ACCOUNT_FILE = 'path/to/your/service-account.json'
# 要模拟的用户邮箱 (需要域范围授权)
DELEGATED_USER = 'admin@yourdomain.com'
# 所需的API范围
SCOPES = ['https://www.googleapis.com/auth/drive']
def get_drive_service():
# 创建凭据
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
# 如果需要模拟用户,添加委托
delegated_credentials = credentials.with_subject(DELEGATED_USER)
# 构建Drive服务
service = build('drive', 'v3', credentials=delegated_credentials)
return service
# 使用示例
drive_service = get_drive_service()
results = drive_service.files().list(pageSize=10, fields="files(id, name)").execute()
items = results.get('files', [])
for item in items:
print(f"{item['name']} ({item['id']})")
原因:服务账号没有足够的权限或域范围授权未正确配置 解决:
原因:凭据无效或过期 解决:
原因:请求中缺少必要参数或范围不正确 解决:
没有搜到相关的文章