首页 > 解决方案 > 在 FeedItemService 中使用 mutate 方法时出现 KeyError

问题描述

我的帐户中有一个广告定制器供稿设置,我想更改该供稿中一个项目的值。我尝试使用“FeedItemService”中的“SET”操作来做到这一点

当我运行它时,我收到以下错误:

KeyError: 'feedAttributes'

我在这里浏览了文档:https ://developers.google.com/adwords/api/docs/reference/v201809/FeedItemService.FeedItemAttributeValue

我还在这里查看了“添加”新 feedItem 代码示例: https ://developers.google.com/adwords/api/docs/guides/ad-customizers

但是,这只是添加新项目而不是修改(SET)它们。

这是代码片段:

fi_service = adwords_client.GetService('FeedItemService', version = 'v201809')

fi_operator = {                 
                'feedId': 1234,
                'feedItemId': 3456,                
                'attributeValues': [
                                    {                                     
                                     'feedAttributeId':111,
                                     'stringValue': '1000'}

                                    ]
        }
fi_creator_operation = {'operator': 'SET',                        
                        'operand': fi_operator}                

fi_call_response = fi_service.mutate(feed_creator_operation)

这是回溯:


Traceback (most recent call last):

  File "<ipython-input-57-892b092f7b88>", line 15, in <module>
    fi_call_response = fi_service.mutate(feed_creator_operation)

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1381, in MakeSoapRequest
    packed_args = self._PackArguments(method_name, args)

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1239, in _PackArguments
    for ((_, param), param_data) in izip(op_params, args)]

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1284, in _PackArgumentsHelper
    elem_type, type_override is not None, data_formatted, set_type_attrs)

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1351, in _CreateComplexTypeFromData
    for k, v in data if k != 'xsi_type'}

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1351, in <dictcomp>
    for k, v in data if k != 'xsi_type'}

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1284, in _PackArgumentsHelper
    elem_type, type_override is not None, data_formatted, set_type_attrs)

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1351, in _CreateComplexTypeFromData
    for k, v in data if k != 'xsi_type'}

  File "C:\ProgramData\Anaconda2\lib\site-packages\googleads\common.py", line 1351, in <dictcomp>
    for k, v in data if k != 'xsi_type'}

KeyError: 'feedAttributes'

我尝试在各种字典(fi_operator、attributeValues、fi_creator_operation)中添加('xsi_type':'feedAttributes'),以防万一它起作用,但是,我仍然得到相同的响应。

标签: pythongoogle-ads-api

解决方案


推荐阅读