Помогите с json

123
ДП
На сайте с 23.11.2009
Offline
203
#11

Как минимум опечатка $heans - $heads

J
На сайте с 08.06.2006
Offline
844
#12

исправил

немного изменил код на GET запрос

$params = array('fields' => 'id,name,created,budget_limit');

$heads[] = 'Authorization: Bearer '.$acces_token;

if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'https://target.my.com/api/v1/campaigns.json');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $heads);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
$out = curl_exec($curl);
print json_decode($out);
curl_close($curl);


}

foreach ($campaigns as $campaign) {
printf(
"Campaign %s (#%d, created at %s) has budget limit %d\n",
$campaign['name'],
$campaign['id'],
$campaign['created'],
$campaign['budget_limit']
);
}

выдает

Error deserializing: '------------------------------25e5b4dbccb9 Content-Disposition: form-data; name="fields" id,name,created,budget_limit ------------------------------25e5b4dbccb9-- '


---------- Добавлено 27.10.2015 в 18:28 ----------

п.с. уже меня голова болит от этого всего

---------- Добавлено 27.10.2015 в 19:10 ----------

сейчас все сводится до того как курлом авторизоваться имея токен доступа отправить пост и гет запрос

дайте примеры. может кто знает. спасибо!

ДП
На сайте с 23.11.2009
Offline
203
#13

Вообще у вас это по-прежнему POST запрос потому что curl_setopt($curl, CURLOPT_POST, true);

В GET запросу переменные должны указываться в url запроса собственно

J
На сайте с 08.06.2006
Offline
844
#14

Помогите это реализовать на php

спасибо!

Получение списка кампаний
GET /api/v1/campaigns.json
Метод позволяет получить список рекламных кампаний (объектов типа CampaignStat) с возможностью фильтрации по статусу и указания полей кампании, которые будут присутствовать в ответе.

Статус для фильтрации задаётся GET-параметром status. Возможные значения: active, blocked, deleted. Символ - перед значением статуса инвертирует фильтр.

Список полей кампании, перечисленных через запятую, задаётся параметром fields. Возможные значения соответствуют названиям полей объекта CampaignStat.

Чтобы получить список кампаний с баннерам задается GET-параметр with_banners=1.

Пример запроса
HTTP-запрос:

GET /api/v1/campaigns.json?status=active&fields=id%2Cname%2Ccreated%2Cbudget_limit HTTP/1.1
Host: target-sandbox.my.com
Content-Type: application/json
Accept-Encoding: gzip, deflate, compress
Authorization: Bearer Bh8kQmBUwgGDLuprqZhfMMm..7JrLbTAEFbEv74TydrC18
Curl-запрос:

curl \
-H 'Authorization: Bearer Bh8kQmBUwgGDLuprqZhfMMm..7JrLbTAEFbEv74TydrC18' \
'https://target-sandbox.my.com/api/v1/campaigns.json?status=active&fields=id,name,created,budget_limit'
Пример ответа:

[ {
"id": 334644,
"name": "Test campaign",
"budget_limit": "",
"created": "2013-06-17 12:47:29",
}
]
J
На сайте с 08.06.2006
Offline
844
#15

ранее не актуально

сейчас нужно это перевести в пхп

HTTP-запрос:

POST /api/v1/campaigns.json HTTP/1.1
Host: target-sandbox.my.com
Content-Type: application/json
Content-Length: 136
Accept-Encoding: gzip, deflate, compress
Authorization: Bearer Bh8kQmBUwgGDLuprqZhfMMm..7JrLbTAEFbEv74TydrC18

{"name": "Test campaign", "package": {"id": 18}, "targetings": {"regions": [188], "sex": "MF", "age": [20, 21], "pads": [{"id": 5206}]}}
Curl-запрос:

curl \
-d '{"name": "Test campaign", "package": {"id": 18}, "targetings": {"regions": [188], "sex": "MF", "age": [20, 21], "pads": [{"id": 5206}]}}' \
-H 'Authorization: Bearer Bh8kQmBUwgGDLuprqZhfMMm..7JrLbTAEFbEv74TydrC18' \
'https://target-sandbox.my.com/api/v1/campaigns.json'
ДП
На сайте с 23.11.2009
Offline
203
#16

Добавьте в $heads заголовок Content-Type: application/json

а

$params = json_encode(array(

'name'=>'Test Campaing',
'package' => array()
));

и т.п.

J
На сайте с 08.06.2006
Offline
844
#17

выдает {"package": "Wrong package"}

что оно хочет?

ДП
На сайте с 23.11.2009
Offline
203
#18

Вы в package прописали реальные данные или как у меня в коде array() оставили? Судя по тексту - хочет правильный package, что это такое - я не знаю. с этой системой не работал

J
На сайте с 08.06.2006
Offline
844
#19

Дикий пионер, как задать в запросе флаг-фильтр ?

---------- Добавлено 29.10.2015 в 12:22 ----------

Статус для фильтрации задаётся GET-параметром status. Возможные значения: active, blocked, deleted. Символ - перед значением статуса инвертирует фильтр.

Список полей кампании, перечисленных через запятую, задаётся параметром fields. Возможные значения соответствуют названиям полей объекта CampaignStat.

Чтобы получить список кампаний с баннерам задается GET-параметр with_banners=1.

Пример запроса
HTTP-запрос:

GET /api/v1/campaigns.json?status=active&fields=id%2Cname%2Ccreated%2Cbudget_limit HTTP/1.1
Host: target-sandbox.my.com
Content-Type: application/json
Accept-Encoding: gzip, deflate, compress
Authorization: Bearer Bh8kQmBUwgGDLuprqZhfMMm..7JrLbTAEFbEv74TydrC18

я и задал GET /api/v1/campaigns.json?status=active&with_banners=1

не работает

отписал в МТ

ответили, что задавать как флаг-фильтр

---------- Добавлено 29.10.2015 в 12:24 ----------

еще подскажите, что означает выражение

Значение для фильтрации по статусу объявления задаётся GET-параметром status. Возможные значения: active, blocked, deleted. Символ - перед значением статуса инвертирует фильтр.

"Символ - перед значением статуса инвертирует фильтр."

какой символ?

LovelAss
На сайте с 05.06.2009
Offline
96
#20
joost:
"Символ - перед значением статуса инвертирует фильтр."

Судя по всему, знак минуса. Например status=active,blocked,-deleted

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий