Пакетное обновление изображения с помощью ADS Api? - PullRequest
2 голосов
/ 27 октября 2011

Я пытаюсь обновить группу объявлений с помощью пакетного запроса. Все идет хорошо, если не добавить параметр image_file, но при добавлении вернуть ошибку.

Мои ad_specs;

Массив ( [метод] => пост [относительный_url] => 6003452316521? name = ReklamGrubu915 & max_bid = 50 & bid_type = 1 & targetting = {"пол": ["1", "2"], "age_min": "30", "age_max": "40", "страны": ["TR"], "ключевые слова": ["# Nike, Inc."], "Города": [{"name": "Istanbul"}, {"name": "Ankara"}, {"name": "Измир"}]} & creative = {"title": "Ev Yemekleri", "body": "Evde harika lezzetler!", "Link_url": "http://www.xxxxx.com/dealer.php?kat=334","image_file":"img17.jpg"} )

А также добавить изображение в batch_params

$ batch_params ['img17.jpg'] = '/var/www/images/img17.jpg'

Я отправляю его, но он возвращает эту ошибку;

Ошибка 1487242 - Ошибка изменения размера изображения - функция getimagesize вернула false

Если я удаляю параметр image_file, каждое обновление проходит нормально, поэтому пакетный запрос выполняется. Файл изображения существует в правильном каталоге. я пытаюсь изменить параметры image_file на 'attach_files'. Тогда нет никаких ошибок, если смотреть, что все прошло правильно, возвращаемые данные верны, но я вижу страницу управления рекламой на Facebook, нет изменения изображения?

Есть идеи? Может ли это ошибка, пожалуйста, помогите? Я использую PHP SDK.

1 Ответ

0 голосов
/ 24 июня 2015

Когда вы указываете имя файла изображения в вашем креативе, вы должны добавить файл изображения как MIME POST из нескольких частей. В данный момент вы указываете путь к изображению. ($ batch_params ['img17.jpg'] = '/var/www/images/img17.jpg'). Для этого вам необходимо загрузить изображение на Facebook с запросом.

Кроме того, вы можете сначала создать изображение в библиотеке с помощью Fb Ad Image Api, а затем использовать image_hash в креативе.

$image = new AdImage(null, 'act_<ACCOUNT_ID>');
$image->{AdImageFields::FILENAME} = '<IMAGE_PATH>';

$image->create();
echo 'Image Hash: '.$image->{AdImageFields::HASH}.PHP_EOL;

, а затем

$creative = new AdCreative(null, 'act_<ACCOUNT_ID>');
$creative->setData(array(
  AdCreativeFields::TITLE => 'My Test Creative',
  AdCreativeFields::BODY => 'My Test Ad Creative Body',
  AdCreativeFields::OBJECT_URL => 'https://www.facebook.com/facebook',
  AdCreativeFields::IMAGE_HASH => '<IMAGE_HASH>',
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...