Передать параметры даты в пакетный запрос Facebook

Я хочу передать параметры даты в метод пакетного запроса PHP SDK.

Можно ли указывать в параметрах даты такие как:

$params = array(
'time_range' => array(
'since' => (new \DateTime("-1 week"))->format('Y-m-d'),
'until' => (new \DateTime())->format('Y-m-d'),
),
);

Мой пакетный запрос по существу:

foreach( $campaign_ids as $campaign_id ) {

$batch[] = $fb->request('GET/', env("FB_APP_VERSION") . '/' . $campaign_id . '/insights?fields=impressions,unique_clicks,reach');

}

try {
$responses = $fb->sendBatchRequest($batch);
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}

0

Решение

В соответствии с

Я предполагаю, что вы можете добавить дополнительный параметр к каждому запросу, например:

Формат: time_range={'since':'2015-01-01','until':'2015-01-20'}

В PHP это будет означать, что вы должны json_encode $params массив и добавить его к каждому запросу.

$time_range = array(
'since' => (new \DateTime("-1 week"))->format('Y-m-d'),
'until' => (new \DateTime())->format('Y-m-d'),
)

$fb->request('GET/', env("FB_APP_VERSION") . '/' . $campaign_id . '/insights?fields=impressions,unique_clicks,reach&time_range=' . json_encode($time_range));
0

Другие решения

После прочтения исходного кода я обнаружил, что вы можете передать дату в параметрах как таковую: (она получает url_encoded при передаче в обработчик запроса)

foreach( $campaigns as $campaign ) {

$params = array(
'time_range' => array(
'since' => (new \DateTime($campaign->data_date . ' -1 day'))->format('Y-m-d'),
'until' => (new \DateTime($campaign->data_date))->format('Y-m-d')
),
);

$batch[] = $fb->request('GET', '/' . $campaign->ad_campaign_id . '/insights?fields=impressions,unique_clicks,reach', $params);
}
0

По вопросам рекламы [email protected]