我使用的是python2.7和googledfpapithon模块(googledfpapi-4.4.0)。在
doubleclick for publishers文档(https://developers.google.com/doubleclick-publishers/docs/rel_notes)描述了像CustomTargetingValue这样的“类型”(也称为类)。我想创建此类类的新实例,以便填充它们并调用API可访问的方法,如createCustomTargetingValues()。在
我希望通过使用类名和“call”方法创建新实例。在
newVal = CustomTargetingValue()
。。。但这会产生一个名称错误
^{pr2}$我尝试过使用dir()、vars()和inspect进行挖掘,但是我找不到一种方法来限定名称,例如。googleads.CustomTargetValue, suds.sudsobject.CustomTargetingValue. 在
作为解决方法,我可以使用getCustomTargetingValuesByStatement()之类的DFP查询返回所需类型的现有对象,使用“type”获取其类,然后使用call方法
newVal=type(existingVal)()
我同样可以使用copy模块来复制对象,但这两种方式看起来都像黑客。在
我显然忽略了一些显而易见的东西——正确的方法是什么?在
我发现的最接近的解决方案是用正确的
xsi_type
组成一个字典,并确保提供了所有必需的字段。然后,这个字典被提供给正在进行的dfpapi调用。在因此,例如,我需要添加一个新的顶级KVP(CustomCriteriaSet),我使用以下代码:
虽然我在一个PHP示例here中发现,代码只是调用了
CustomCriteriaSet
call,但是我在Python示例中找不到类似的代码。可能只是一个helper类,但我还没有检查PHP示例。在不管怎样,这个解决方案对我都有效。所以我就这么做。在
相关问题 更多 >
编程相关推荐