使用 google ad manager api 删除订单项
Posted
技术标签:
【中文标题】使用 google ad manager api 删除订单项【英文标题】:Using the google ad manager api to delete a line item 【发布时间】:2020-11-13 23:57:59 【问题描述】:我需要一些有关 Google 广告管理器 API 的帮助。我正在尝试使用以下内容删除lineitem
:
from googleads import ad_manager
client = ad_manager.AdManagerClient.LoadFromStorage()
def test(id):
line_item_service = client.GetService('LineItemService',version='v202002')
line_item_name = str(id)
statement = (ad_manager.StatementBuilder(version='v202002').Where('OrderId = :OrderId').WithBindVariable('OrderId',app.config['AD_MANAGER']['ORDER_ID']))
response = line_item_service.performLineItemAction(line_item_service.DeleteLineItems(),statement.ToStatement())
我的问题在于DeleteLineItems()
,因为我不确定如何正确调用它。我无法找到明确的用法示例,因此我在上面进行了尝试。以下是我能找到的文档。我当前尝试的错误是:
success: false, error: "<class 'googleads.errors.GoogleAdsValueError'>", message: "Service DeleteLineItems not found"
https://developers.google.com/ad-manager/api/reference/v202011/LineItemService.DeleteLineItems https://developers.google.com/ad-manager/api/reference/v202011/LineItemService#performLineItemAction
【问题讨论】:
【参考方案1】:所以我终于找到了答案。
performLineItemAction
接受 2 个参数。第一个是LineItemAction
,第二个是Statement
。我发现文档有点混乱,因为我认为 LineItemAction
是 LineItem
对象的方法。原来第一个参数其实是一个字典。
line_item_service.performLineItemAction('xsi_type':'ArchiveLineItems',statement.ToStatement())
附带说明,一旦交付了订单项,我们就无法将其删除。我们可以暂停它或存档它。在这种情况下,我选择将其存档。可以在此处找到不同类型的订单项操作。
https://developers.google.com/ad-manager/api/reference/v202011/LineItemService#performLineItemAction
【讨论】:
以上是关于使用 google ad manager api 删除订单项的主要内容,如果未能解决你的问题,请参考以下文章
错误消息 facebook ads-api 用用户的 ads_management 权限广告事件
如何使用 REST API 使用 Google Ads API v0 获取经过身份验证的用户的 Google Ad Account ID?
尽管使用了刷新令牌,但 Google Ads API 仍显示“令牌已过期或撤销”