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

调用DV360 C# API创建HTML5创意时遇CREATIVE_CUSTOM_EVENT_NAME_REQUIRED错误

解决DV360创建HTML5标准创意时的CREATIVE_CUSTOM_EVENT_NAME_REQUIRED错误

调用DV360的C# API创建CREATIVE_TYPE_STANDARD类型的HTML5创意时,已配置TimerEvent但仍触发如下错误:

CREATIVE_CUSTOM_EVENT_NAME_REQUIRED: A name is required for custom events. [400]
Errors [
Message[CREATIVE_CUSTOM_EVENT_NAME_REQUIRED: A name is required for custom events.] Location[ - ] Reason[badRequest] Domain[global]
]

错误原因

DV360的HTML5标准创意有明确规则:只要创意中包含自定义事件相关配置(比如TimerEvent、自定义点击事件等),必须在Creative对象的CustomEventNames字段中显式声明所有自定义事件的名称,哪怕只有一个TimerEvent也不能省略该步骤。之前的代码仅设置了TimerEvent,但未将对应的名称加入CustomEventNames集合,因此触发校验错误。

解决办法

初始化Creative对象时,添加CustomEventNames属性,将你定义的TimerEvent名称(示例中为"tick")加入该集合即可。

修改后的完整初始化代码

var mainAsset = new AssetAssociation { Asset = new Asset { MediaId = mediaId }, Role = "ASSET_ROLE_MAIN" };
var exitEvent = new ExitEvent { Type = "EXIT_EVENT_TYPE_DEFAULT", Url = exitUrl, Name = "EXIT_EVENT" };
var timerEvent = new TimerEvent { Name = "tick", ReportingName = "tick" };
var creative = new Creative
{
    DisplayName = displayName,
    EntityStatus = "ENTITY_STATUS_ACTIVE",
    HostingSource = "HOSTING_SOURCE_HOSTED",
    CreativeType = "CREATIVE_TYPE_STANDARD",

    Dimensions = new Dimensions { HeightPixels = heightPixels, WidthPixels = widthPixels },
    Assets = new List<AssetAssociation>
    {
        mainAsset
    },
    ExitEvents = new List<ExitEvent> { exitEvent },
    TimerEvents = new List<TimerEvent> { timerEvent },
    // 新增:声明所有自定义事件的名称集合
    CustomEventNames = new List<string> { "tick" }
};

调用API代码(无需修改)

var request = displayVideoService.Advertisers.Creatives.Create(creative, advertiserId);
await request.ExecuteAsync()

添加CustomEventNames后,API会识别到已明确声明自定义事件名称,即可通过校验并成功创建创意。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 08:10:24