如何在Python中使用列表作为参数发起POST请求?

1 投票
1 回答
2102 浏览
提问于 2025-04-18 13:04

我想要调用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令牌,这一点也很重要。

撰写回答