批处理参数必须是JSON数组

时间:2019-03-29 17:01:53

标签: php json facebook facebook-graph-api facebook-php-sdk

我正在尝试在Facebook Graph API上发出以下BATCH请求

我使用urlencode对此进行编码

/?batch = [{“ method”:“ POST”,“ relative_url”:“ 23843240845450549”,“ body”:“ end_time = 2019-03-29T19:59:59-0300&lifetime_budget = 5328”}]] >

这是已编码的请求

/?batch =%5B%7B%22method%22%3A%22POST%22%2C%22relative_url%22%3A%226118436634612%22%2C%22body%22%3A%22end_time%3D2019-03-29T19% 3A59%3A59-0300&lifetime_budget = 328921%22%7D%5D

但是我得到

“批处理参数必须是JSON数组”,

我知道错误与“&”有关,我无法找到在正文请求中放置多个字段的方法

也尝试过

/?batch = [{“ method”:“ POST”,“ relative_url”:“ 23843240845450549”,“ body”:“ end_time = 2019-03-29T19:59:59-0300&lifetime_budget = 5328”}]] >

还有

/?batch = [{“ method”:“ POST”,“ relative_url”:“ 23843240845450549”,“ body”:“ end_time = 2019-03-29T19:59:59-0300&amplifetime_budget = 5328”}“]

1 个答案:

答案 0 :(得分:0)

最后我发现我必须将&编码为%26

这是可行的:

/?batch =%5B%7B%22method%22%3A%22POST%22%2C%22relative_url%22%3A%226118436634612%22%2C%22body%22%3A%22end_time%3D2019-03-29T19% 3A59%3A59-0300%26lifetime_budget%3D328921%22%7D%5D