#php #facebook #api #facebook-graph-api
#php #Facebook #API #facebook-graph-api
Вопрос:
Я использовал facebook graph api без пакетных запросов, чтобы запланировать публикации изображений на своих страницах.
Сейчас я пытаюсь работать с пакетными запросами, но у меня проблема, фотографии публикуются немедленно, даже если я настроил параметры на задержку.
Пример:
$args = array(
'message' => $this->message,
);
$args['published'] = false;
$args['scheduled_publish_time'] = strtotime($this->programmed_dt);
$appsecretProof = hash_hmac('sha256', $facebookPage['access_token'], self::APP_SECRET);
$queries[] = array('method' => 'POST',
'relative_url' => urlencode('/' . $facebookPage['id'] . '/photos?access_token=' . $facebookPage['access_token'] . 'amp;appsecret_proof=' . $appsecretProof),
'body' => $args,
'attached_files' => 'file1',
);
$params['file1'] = '@' . realpath('images/' . $timestamp . '.jpg');
$urlPost = '?batch=' . json_encode($queries) . 'amp;access_token=' . self::ACCESS_TOKEN;
$res = $this->fb->api($urlPost, 'POST', $params);
У меня есть ответ с идентификатором публикации, но публикация фотографии не запланирована… Вы видите что-то не так?
Спасибо.
Ответ №1:
Найдено:
опубликованное и запланированное время публикации должны быть переданы в relative_url
$relativeUrl = '/' . $facebookPage['id'] . '/photos?published=' . (string) $args['published'];
$relativeUrl .= $args['published'] ? '' : 'amp;scheduled_publish_time=' . $args['scheduled_publish_time'] . 'amp;access_token=' . $facebookPage['access_token'] . 'amp;appsecret_proof=' . $appsecretProof;