google-api - 使用 google ad manager api 删除订单项
问题描述
我需要一些关于谷歌广告管理器 API 的帮助。我正在尝试lineitem
使用以下内容删除 a:
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
解决方案
所以我终于找到了答案。
接受 2个performLineItemAction
参数。第一个是LineItemAction
,第二个是Statement
。我发现文档有点混乱,因为我认为这LineItemAction
是LineItem
对象的一种方法。事实证明,第一个参数实际上是一个字典。
line_item_service.performLineItemAction({'xsi_type':'ArchiveLineItems'},statement.ToStatement())
附带说明一下,一旦交付了订单项,我们就无法将其删除。我们可以暂停它或存档它。在这种情况下,我选择将其存档。可以在此处找到不同类型的订单项操作。
https://developers.google.com/ad-manager/api/reference/v202011/LineItemService#performLineItemAction
推荐阅读
- perforce - 为什么我无法在 Perforce 中删除工作区并出现此错误:“流层次结构中缺少流''...”
- c++ - 是 `[](std::list
& list){return std::move(list)}(list)` 保证将 `list` 留空? - sql - 日期转换“超出范围值”错误,在 WHERE 子句下转换日期
- python - 输出数据帧不完整
- redux - 如何识别 redux-saga 中的错误来自哪里?
- javascript - GetStream - 发送分析参与时出错
- linux - 希望使用命令计算第 1 列中某个日期范围内的第 6 列中的项目数
- sql - SQLite 计算最大尝试次数
- python - Python - 如何将 Panda 中的元素从列表转换为字符串
- google-apps-script - 获取文件详细信息并将图像加载到电子表格中