неправильный json в ads.api

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Ответить
binjan
Сообщения: 5
Зарегистрирован: 10 окт 2012, 19:36

неправильный json в ads.api

Сообщение binjan »

Пытаюсь разобраться с апи для добавления рекламных объявлений через ads.api, но возникают проблемы
работает строка,которая удаляет объявление:
1.

Код: Выделить всё

echo '<hr>'.file_get_contents('https://api.vk.com/method/ads.deleteAds?account_id='.$id_cab.'&ids={"id":"4288059"}&access_token='.$_SESSION['access_token']);
работает вывод всех объявлений без конкретных id:
2.

Код: Выделить всё

echo '<hr>'.file_get_contents('https://api.vk.com/method/ads.getAdsLayout?access_token='.$_SESSION['access_token'].'&account_id='.$id_cab.'&campaign_ids=null&ad_ids=null');
но не работает, когда указываю одну компанию или одно объявление по id
3.

Код: Выделить всё

echo '<hr>'.file_get_contents('https://api.vk.com/method/ads.getAdsLayout?access_token='.$_SESSION['access_token'].'&account_id='.$id_cab.'&campaign_ids={"id":"1000027653"}&ad_ids=null');
в чем может быть дело?
Ошибка

Код: Выделить всё

{"error":{"error_code":100,"error_msg":"One of the parameters specified was missing or invalid: campaign_ids: invalid JSON"......
получается я неправильно делаю строку JSON, но в первом примере она имеет тот же вид и работает...
Основная задача как добавить объявление тоже выдает ошибку, видимо из-за того же json, который я как-то не правильно делаю
sanych_dv
Разработчик
Разработчик
Сообщения: 550
Зарегистрирован: 29 апр 2011, 01:52

Re: неправильный json в ads.api

Сообщение sanych_dv »

1. JSON Validator: http://jsonlint.com

2. Попробуйте так:

Код: Выделить всё

 echo file_get_contents( urlencode( "https://api.vk.com/..." ) ); 
binjan
Сообщения: 5
Зарегистрирован: 10 окт 2012, 19:36

Re: неправильный json в ads.api

Сообщение binjan »

спасибо, но urlencode пробовал - не помогает. есть еще идеи?
binjan
Сообщения: 5
Зарегистрирован: 10 окт 2012, 19:36

Re: неправильный json в ads.api

Сообщение binjan »

проблема решена. json должен выглядеть так [1000027653] без фигурных скобок и id, как это было в первом примере. почему в одном месте так, в другом иначе и ни где не описано как нужно, это вопрос к администрации. не хватает реальных примеров.
Новая проблема - создать объявление. на каждый мини-шаг уходит день-два и получается разобраться только с участием других пользователей, по этому снова прошу помочь!

Код: Выделить всё

file_get_contents('https://api.vk.com/method/ads.createAds?access_token='.$_SESSION['access_token']).'&account_id='.$id_cab.'&data=[{"campaign_id":"1000027653","cost_type":"0","cpc":"1.05","title":"Автоматическое объявление","description":"описание","link_url":"http:\/\/cms.ru","photo":"'.$photo.'","sex":"0","age_from":"18","age_to":"29","country":"0","school_from":"1999","school_to":"2012","uni_from":"1999","uni_to":"2012"}]';
ошибка

Код: Выделить всё

{"error":{"error_code":100,"error_msg":"One of the parameters specified was missing or invalid: account_id",.........
binjan
Сообщения: 5
Зарегистрирован: 10 окт 2012, 19:36

Re: неправильный json в ads.api

Сообщение binjan »

binjan писал(а): file_get_contents('https://api.vk.com/method/ads.createAds ... .$_SESSION['access_token']).'&account_id='.$id_cab.'&data=[{"campaign_id":"1000027653","cost_type":"0","cpc":"1.05","title":"Автоматическое объявление","description":"описание","link_url":"http:\/\/cms.ru","photo":"'.$photo.'","sex":"0","age_from":"18","age_to":"29","country":"0","school_from":"1999","school_to":"2012","uni_from":"1999","uni_to":"2012"}]';

ошибка
{"error":{"error_code":100,"error_msg":"One of the parameters specified was missing or invalid: account_id",.........
тут понятно, длина урл ограничена. стал отправлять data в пост запросе

Код: Выделить всё

$jdata=json_encode(array("campaign_id"=>1000027653,"cost_type"=>"0","cpc"=>"1","title"=>"Автоматическое объявление","description"=>"описание","link_url"=>"http://site.ru","photo"=>$photo,"sex"=>"0","age_from"=>"18","age_to"=>"29","country"=>"0","school_from"=>"1999","school_to"=>"2012","uni_from"=>"1999","uni_to"=>"2012"));
Скажите почему на этот раз ошибка?

Код: Выделить всё

{"error_code":100,"error_msg":"One of the parameters specified was missing or invalid: data[campaign_id][campaign_id]
Ответить