Я использую Graph API https://developers.facebook.com/docs/reference/api/#publishing с PHP SDK, и я хотел бы отправить некоторые данные методом HTTP POST, как это указано в документации (например, добавить комментарий).
В https://developers.facebook.com/docs/reference/api/batch/ говорят, что я должен закодировать тело HTTP-запроса POST как ... должен быть отформатирован как необработанная строка тела HTTP POST, аналогично строке запроса URL . Я не могу получить комбинацию функций PHP, чтобы заставить это работать. В примере они утверждают, что должно работать следующее:
"body": "message=Test status update"
Ну, это работает. Но что, если мне нужно добавить другие параметры? И как должна быть закодирована эта строка? Например. У меня есть это:
$data = array('name' => 'Gargamel', 'occupation' => 'Freelancing Smurf Hunter');
Как мне обработать его, чтобы получить требуемый формат? Следующее НЕ работает:
$batch = array();
$query = array(
'method' => 'POST',
'relative_url' => '/forrest/full/of/smurfs',
'body' => urldecode(http_build_query($data)),
);
$batch[] = $query;
$responses = $this->api('/?batch=' . json_encode($batch, JSON_HEX_AMP), 'POST');
Я исследовал половину Интернета, но не могу найти более конкретной информации о формате, чем упомянутый выше (необработанный HTTP POST, похожий на строку запроса URL).
Спасибо за любые предложения!