我有一个方法可以向 Facebook 发送消息 Generic template 。 我的代码:
def send_receipt(self, fbid, title, url, img_url, summary):
return self._send(message={
"recipient": {
"id": fbid
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [
{
"title": title,
"item_url": url,
"image_url": img_url,
"subtitle": summary
}
]
}
}
}
})
它对我来说工作正常,但它只返回 1 个元素。我想从 JSON 中获取 2 或 3 个元素,所以我认为我可以通过创建一个元素对象来使其工作,并且该对象返回数组列表。
def send_receipt(self, fbid, elements):
return self._send(message={
"recipient": {
"id": fbid
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": elements
}
}
}
})
我确实创建了一个返回元素的方法。但我是 python 新手,所以我所做的对我来说不起作用。
elements = [{
"title": title,
"item_url": url,
"image_url": img_url,
"subtitle": summary }]
最佳答案
我所做的是创建一个将结果转换为列表元素的方法
temp = []
for index, product in enumerate(products):
element = {'title': title,
'subtitle': sumary,
'item_url': item_url}
#not every product has image_url so to prevent KeyError, I have a if
if 'image_url' in product:
element['image_url'] = image_url
temp.append(element)
# In Facebook API element is limited to 10
if index == 9:
break
return temp
关于python - 如何将数组列表作为Python对象返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39513084/