如何在Python中使用列表作为参数发起POST请求?
我想要调用Facebook的观众分享API来发送一个POST请求。
这里是方法:
https://graph.facebook.com/{audienceid}/adaccounts
不过,addcounts和audienceid是两个列表。
addaccounts和audienceid看起来像这样:
addaccounts = [1337845464515, 13464645456566]
audienceid = ['6018213515', '601816526']
我该如何把它们连接起来并发送POST请求呢?
1 个回答
2
看起来在自定义受众定位API中,所有的POST方法都需要把查询参数编码成JSON格式。
在分享受众的示例中,整数被用作adaccounts
的值,所以在转换成JSON之前,确保你的值确实是整数:
import json
import requests
adaccounts = [1337845464515, 13464645456566]
audienceid = ['6018213515', '601816526']
params = {adaccounts: json.dumps(adaccounts)}
for id_ in audienceid:
url = 'https://graph.facebook.com/{}/adaccounts'.format(id_)
response = requests.post(url, data=params)
requests
库会把params
这个字典编码成POST请求的application/x-www-form-urlencoded
格式的内容。
另外,你还需要有正确的OAuth令牌,这一点也很重要。