EDITGetting 错误 main() 需要 2 个位置参数,但给出了 3 个
EDITGetting error main() takes 2 positional arguments but 3 were given
我正在测试 google adwords api 功能(注意:此问题并非直接针对 Google Ad Words API)。
我遇到一个错误:main() 接受 2 个位置参数,但给出了 3 个
这是我所做的:
1) 创建了一个包含关键字 Charfield
的关键字模型
2) 创建了一个具有 CharField 类型表单元素的 KeywordForm
3) 使用HTML页面中的表单通过POST方法获取关键字
4) 在 POST 之后,URL 被路由到一个视图 keyword_add,它设置了两个值,即
adwords_client = adwords.AdWordsClient.LoadFromStorage()
ad_group_id = 'XXXXXXXXX`
此外,它使用
获取关键字模型的值
new_keyword = Keyword.objects.all()
然后它使用函数调用
调用位于 python 脚本中的函数
ad_group_update.main(adwords_client, ad_group_id, new_keyword)
5) python 脚本 add_keywords 中的函数 main 使用三个参数 adwords_client, ad_group_id & new_keyword[=15= 执行]
执行此操作时出现以下错误:
1) error while executing main()
除了这个错误,我在代码中还有一个问题:
from googleads import adwords
AD_GROUP_ID = 'INSERT_AD_GROUP_ID_HERE'
def main(client, ad_group_id, keyword):
# Initialize appropriate service.
ad_group_criterion_service = client.GetService(
'AdGroupCriterionService', version='v201710')
# Construct keyword ad group criterion object.
keyword1 = {
'xsi_type': 'BiddableAdGroupCriterion',
'adGroupId': ad_group_id,
'criterion': {
'xsi_type': 'Keyword',
'matchType': 'BROAD',
'text': 'MARS'
},
# These fields are optional.
'userStatus': 'PAUSED',
'finalUrls': {
'urls': ['http://example.com/keyword']
}
}
keyword2 = {
'xsi_type': 'NegativeAdGroupCriterion',
'adGroupId': ad_group_id,
'criterion': {
'xsi_type': 'Keyword',
'matchType': 'EXACT',
'text': 'pluto'
}
}
# Construct operations and add ad group criteria.
operations = [
{
'operator': 'ADD',
'operand': keyword1
},
{
'operator': 'ADD',
'operand': keyword2
}
]
ad_group_criteria = ad_group_criterion_service.mutate(
operations)['value']
# Display results.
for criterion in ad_group_criteria:
print(('Keyword ad group criterion with ad group id "%s", criterion id '
'"%s", text "%s", and match type "%s" was added.'
% (criterion['adGroupId'], criterion['criterion']['id'],
criterion['criterion']['text'],
criterion['criterion']['matchType'])))
if __name__ == '__main__':
# Initialize client object.
adwords_client = adwords.AdWordsClient.LoadFromStorage()
main(adwords_client, AD_GROUP_ID, )
如何使用参数 new_keyword 更新关键字的文本元素?
在你的代码中
if __name__ == '__main__':
# Initialize client object.
adwords_client = adwords.AdWordsClient.LoadFromStorage()
main(adwords_client, AD_GROUP_ID, )
您正在传递 2 个参数,但 def main(__, __, __)
需要 3 个参数。
main(adwords_client, AD_GROUP_ID, )
这就是你出错的原因。
我正在测试 google adwords api 功能(注意:此问题并非直接针对 Google Ad Words API)。
我遇到一个错误:main() 接受 2 个位置参数,但给出了 3 个
这是我所做的:
1) 创建了一个包含关键字 Charfield
的关键字模型2) 创建了一个具有 CharField 类型表单元素的 KeywordForm
3) 使用HTML页面中的表单通过POST方法获取关键字
4) 在 POST 之后,URL 被路由到一个视图 keyword_add,它设置了两个值,即
adwords_client = adwords.AdWordsClient.LoadFromStorage()
ad_group_id = 'XXXXXXXXX`
此外,它使用
获取关键字模型的值new_keyword = Keyword.objects.all()
然后它使用函数调用
调用位于 python 脚本中的函数 ad_group_update.main(adwords_client, ad_group_id, new_keyword)
5) python 脚本 add_keywords 中的函数 main 使用三个参数 adwords_client, ad_group_id & new_keyword[=15= 执行]
执行此操作时出现以下错误:
1) error while executing main()
除了这个错误,我在代码中还有一个问题:
from googleads import adwords
AD_GROUP_ID = 'INSERT_AD_GROUP_ID_HERE'
def main(client, ad_group_id, keyword):
# Initialize appropriate service.
ad_group_criterion_service = client.GetService(
'AdGroupCriterionService', version='v201710')
# Construct keyword ad group criterion object.
keyword1 = {
'xsi_type': 'BiddableAdGroupCriterion',
'adGroupId': ad_group_id,
'criterion': {
'xsi_type': 'Keyword',
'matchType': 'BROAD',
'text': 'MARS'
},
# These fields are optional.
'userStatus': 'PAUSED',
'finalUrls': {
'urls': ['http://example.com/keyword']
}
}
keyword2 = {
'xsi_type': 'NegativeAdGroupCriterion',
'adGroupId': ad_group_id,
'criterion': {
'xsi_type': 'Keyword',
'matchType': 'EXACT',
'text': 'pluto'
}
}
# Construct operations and add ad group criteria.
operations = [
{
'operator': 'ADD',
'operand': keyword1
},
{
'operator': 'ADD',
'operand': keyword2
}
]
ad_group_criteria = ad_group_criterion_service.mutate(
operations)['value']
# Display results.
for criterion in ad_group_criteria:
print(('Keyword ad group criterion with ad group id "%s", criterion id '
'"%s", text "%s", and match type "%s" was added.'
% (criterion['adGroupId'], criterion['criterion']['id'],
criterion['criterion']['text'],
criterion['criterion']['matchType'])))
if __name__ == '__main__':
# Initialize client object.
adwords_client = adwords.AdWordsClient.LoadFromStorage()
main(adwords_client, AD_GROUP_ID, )
如何使用参数 new_keyword 更新关键字的文本元素?
在你的代码中
if __name__ == '__main__':
# Initialize client object.
adwords_client = adwords.AdWordsClient.LoadFromStorage()
main(adwords_client, AD_GROUP_ID, )
您正在传递 2 个参数,但 def main(__, __, __)
需要 3 个参数。
main(adwords_client, AD_GROUP_ID, )
这就是你出错的原因。