You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS Lambda调用Google服务账号时遭遇403 Forbidden错误求助

Google Campaign Manager 360 API调用403错误排查(AWS Lambda + 服务账号)

我正在开发集成应用,因涉及服务器到服务器交互选择使用服务账号(Service Account),流程是通过AWS Lambda调用Google服务账号获取Google Campaign Manager 360 API的广告系列数据,下载至S3桶用于SA的BI报表。但配置并调整Lambda代码后始终出现403错误,无法定位原因。

我的操作步骤:

  • 创建服务账号,为自己分配所有者权限,账号本身拥有用户权限
  • 复制服务账号JSON密钥文件,供Python和Google API使用

Lambda Python代码(第20行执行失败):

import json
import os
from google.oauth2 import service_account
from googleapiclient.discovery import build
import googleapiclient.discovery

SCOPES = ['https://www.googleapis.com/auth/dfareporting', 'https://www.googleapis.com/auth/ddmconversions']
delegate = os.environ['DELEGATE_EMAIL']
profile_id = os.environ['PROFILEID']
def lambda_handler(event, context):
   
    SERVICE_ACCOUNT_FILE = 'service.json'
    print(SERVICE_ACCOUNT_FILE)
    # 从服务账号文件和权限范围创建凭证对象
    credentials = service_account.Credentials.from_service_account_file(SERVICE_ACCOUNT_FILE, scopes=SCOPES)
    print('<< CREDENTIAL >> ', credentials)
    # delegated_credentials = credentials.with_subject(delegate)
    gcm360_client = build('dfareporting', 'v4', credentials=credentials)
    request =gcm360_client.campaigns().list(profileId=profile_id)
    print('<< REQUEST >> ',request)
    response = request.execute()  # 第20行,此处执行失败
    # print('<< RESPONSE >> ',response)
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

Lambda错误信息:

403 禁止访问
{
"error": {
"code": 403,
"message": "该用户没有此配置文件的足够权限。",
"errors": [
{
"message": "该用户没有此配置文件的足够权限。",
"domain": "global",
"reason": "forbidden"
}
],
"status": "PERMISSION_DENIED"
}
}

内容的提问来源于stack exchange,提问作者Anthony Williams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 01:17:38