Загруженный видео статус через Facebook PHP Business SDK для рекламы - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь создать объявление через Facebook Business SDK. Все работает хорошо, пока я не пытаюсь создать AdCreativeVideoData. Код:

 protected function createAdVideoCreative($thumbnail_url, $video_id, $name){
    $video_data = new AdCreativeVideoData();
    $video_data->setData(array(
        AdCreativeVideoDataFields::IMAGE_URL => $thumbnail_url,
        AdCreativeVideoDataFields::VIDEO_ID => $video_id,
        AdCreativeVideoDataFields::CALL_TO_ACTION => array(
            'type' => AdCreativeCallToActionTypeValues::LIKE_PAGE,
            'value' => array(
                'page' => FbAds::PAGE_ID,
            ),
        ),
    ));

    $object_story_spec = new AdCreativeObjectStorySpec();
    $object_story_spec->setData(array(
        AdCreativeObjectStorySpecFields::PAGE_ID => FbAds::PAGE_ID,
        AdCreativeObjectStorySpecFields::VIDEO_DATA => $video_data,
    ));

    $creative = new AdCreative(null, FbAds::AD_ACCOUNT_ID);

    $creative->setData(array(
        AdCreativeFields::NAME => $name,
        AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec,
    ));

    try {
        $creative->create();

        return $creative;
    } catch (Exception $e) {
        print("Create Ad Video Creative Exception: " . $e->getMessage() . " (" . $e->getCode() . ")");

        exit;
    }
}

Вышеуказанный метод вызывается, когда выбранное видео загружается в Facebook следующим способом:

   protected function createAdVideo($video_path){
    $video = new Advideo(null, FbAds::AD_ACCOUNT_ID);

    $video->{AdVideoFields::SOURCE} = $video_path;

    try {
        $video->create();

        return $video->{AdVideoFields::ID};
    } catch (Exception $e) {
        print("Create Ad Video Exception: " . $e->getMessage() . " (" . $e->getCode() . ")");

        exit;
    }

}

Проблема в том, что при попытке создать AdCreativeVideoData выдается следующая ошибка:

[message] => Invalid parameter
[type] => OAuthException
[code] => 100
[error_subcode] => 1885252
[is_transient] => 
[error_user_title] => Video not ready for use in an ad
[error_user_msg] => The video is still being processed. Please wait for the video to finish processing before using it in an ad.
[fbtrace_id] => AwW0d9+Piz1

Как видите, видео еще не обработано. У меня вопрос: как я могу проверить статус видео? Есть ли где-нибудь доступная конечная точка, которую я могу пропинговать, чтобы проверить статус? Документация гласит, что я могу проверить состояние, но объект AdVideo в методе createAdVideo () не имеет поля состояния:

AdVideo fields

Я в растерянности, поэтому надеюсь, что кто-нибудь сможет пролить свет на эту проблему. Заранее спасибо!

...