我正在尝试创建一个资产 (CreativeAsset),以便稍后在模板 Creative 中使用。我在文档中找不到任何方法来创建资产本身,只能提供 base64 字节,但我想在多个地方使用这个资产,所以我宁愿加载一次..有没有办法创建只有一个 CreativeAsset?
2 回答
1
以下是DFP API 团队的解决方案:
CreativeAsset 必须作为广告素材的一部分创建。没有专门的服务可以单独创建 CreativeAsset。但是,您可以使用 assetsId 将 CreativeAsset 复制到新的广告素材。基本上,您可以先创建一个广告素材,然后获取广告素材资源的assetId 并使用它来创建多个广告素材
于 2017-10-19T19:57:20.217 回答
0
这是一个使用 python 的代码示例:
with open(f, "rb") as html_file:
html_file_data = base64.b64encode(html_file.read())
html_file_data = html_file_data.decode("utf-8")
# USING TEMPLATE
creative1 = {
'xsi_type': 'TemplateCreative',
'name': '',
'advertiserId': '',
'size': {'width': 1, 'height': 1},
'creativeTemplateId': '',
'creativeTemplateVariableValues': [
{
'xsi_type': 'AssetCreativeTemplateVariableValue',
'uniqueName': 'HTMLFile',
'asset': {
'assetByteArray': html_file_data,
'fileName': ''
}
}
# other variables
]
}
# USING CUSTOM
creative2 = {
'xsi_type': 'CustomCreative',
'name': '',
'advertiserId': '',
'size': {'width': 1, 'height': 1},
'destinationUrl': '',
'customCreativeAssets': []
}
creative2['customCreativeAssets'].append({
'xsi_type': 'CustomCreativeAsset',
'macroName': '',
'asset': {
'assetByteArray': html_file_data,
'fileName': ''
}
})
creative_service = dfp_client.GetService('CreativeService', version='v201702')
upload_creative1 = creative_service.createCreatives(creative1)
upload_creative2 = creative_service.createCreatives(creative2)
我希望这行得通。
于 2017-08-01T14:56:25.667 回答