Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Яндекс Директ API

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Скрипт выдает 500 ошибку.
morfeylatulipe
Отправлено: 18 Апреля, 2012 - 19:48:07
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Все, как в примере на сайте Яндекса, но не работает.
Если закомментировать 58 строчку, то работает.
А мне нужно, чтобы обе работали.
Помогите.
Может готовый класс есть у кого-то для работы с Яндекс API.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. function createReport($campaign_id) {
  5.    
  6.     $method = 'CreateNewReport';
  7.     $params = array(
  8.     'CampaignID' => $campaign_id,
  9.     'StartDate' => '2012-02-01',
  10.     'EndDate' => '2012-02-29',
  11.     'GroupByColumns' => array(
  12.         'clPhrase',
  13.         'clStatGoals',
  14.         ),
  15.     'TypeResultReport' => 'xml',
  16.     );
  17.    
  18.     function utf8($struct) {
  19.         foreach ($struct as $key => $value) {
  20.             if (is_array($value)) {
  21.                 $struct[$key] = utf8($value);
  22.             }
  23.             elseif (is_string($value)) {
  24.                 $struct[$key] = utf8_encode($value);
  25.             }
  26.         }
  27.         return $struct;
  28.     }
  29.  
  30.     $request = array(
  31.         'token'=> 'токен',
  32.         'application_id'=> 'id приложения',
  33.         'login'=> $login,
  34.         'method'=> $method,
  35.         'param'=> utf8($params),
  36.         'locale'=> 'ru',
  37.     );
  38.    
  39.     $request = json_encode($request);
  40.    
  41.     $opts = array(
  42.         'http'=>array(
  43.             'method'=>"POST",
  44.             'content'=>$request,
  45.         )
  46.     );
  47.    
  48.     $context = stream_context_create($opts);
  49.    
  50.     $result = file_get_contents('https://soap.direct.yandex.ru/json-api/v4/', 0, $context);
  51.    
  52.     $json = json_decode($result,true);
  53.  
  54.     return $json;
  55. }
  56.  
  57. $report1 = createReport('номер кампании 1');
  58. $report2 = createReport('номер кампании 2');
  59.  
  60. echo '<pre>';
  61. print_r($report1);
  62. echo '<hr>';
  63. print_r($report2);
  64. echo '</pre>';
  65.  
  66. ?>
  67.  
 
 Top
pshentsoff
Отправлено: 31 Июля, 2014 - 04:16:42
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июль 2014  
Откуда: Тюмень


Помог: 0 раз(а)




morfeylatulipe пишет:
Может готовый класс есть у кого-то для работы с Яндекс API.

Библиотека классов APIAdLib Работает с Яндекс.Директ и Google AdWords. Там же есть примеры.
Вдруг кому пригодится...
 
 Top
Tyoma5891
Отправлено: 31 Июля, 2014 - 08:39:15
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




morfeylatulipe пишет:
Все, как в примере на сайте Яндекса, но не работает.
Если закомментировать 58 строчку, то работает.
А мне нужно, чтобы обе работали.
Помогите.
Может готовый класс есть у кого-то для работы с Яндекс API.

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. function createReport($campaign_id) {
  5.    
  6.     $method = 'CreateNewReport';
  7.     $params = array(
  8.     'CampaignID' => $campaign_id,
  9.     'StartDate' => '2012-02-01',
  10.     'EndDate' => '2012-02-29',
  11.     'GroupByColumns' => array(
  12.         'clPhrase',
  13.         'clStatGoals',
  14.         ),
  15.     'TypeResultReport' => 'xml',
  16.     );
  17.    
  18.     function utf8($struct) {
  19.         foreach ($struct as $key => $value) {
  20.             if (is_array($value)) {
  21.                 $struct[$key] = utf8($value);
  22.             }
  23.             elseif (is_string($value)) {
  24.                 $struct[$key] = utf8_encode($value);
  25.             }
  26.         }
  27.         return $struct;
  28.     }
  29.  
  30.     $request = array(
  31.         'token'=> 'токен',
  32.         'application_id'=> 'id приложения',
  33.         'login'=> $login,
  34.         'method'=> $method,
  35.         'param'=> utf8($params),
  36.         'locale'=> 'ru',
  37.     );
  38.    
  39.     $request = json_encode($request);
  40.    
  41.     $opts = array(
  42.         'http'=>array(
  43.             'method'=>"POST",
  44.             'content'=>$request,
  45.         )
  46.     );
  47.    
  48.     $context = stream_context_create($opts);
  49.    
  50.     $result = file_get_contents('https://soap.direct.yandex.ru/json-api/v4/', 0, $context);
  51.    
  52.     $json = json_decode($result,true);
  53.  
  54.     return $json;
  55. }
  56.  
  57. $report1 = createReport('номер кампании 1');
  58. $report2 = createReport('номер кампании 2');
  59.  
  60. echo '<pre>';
  61. print_r($report1);
  62. echo '<hr>';
  63. print_r($report2);
  64. echo '</pre>';
  65.  
  66. ?>
  67.  

1. делай отправку пост через CURL
2. не делай одновременный запрос по двум компаниям, а делай в цикле и выводи общий результат..
 
 Top
okyrok
Отправлено: 05 Марта, 2016 - 12:42:20
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




У кого-нибудь есть желание покодить по АПИ - отпишитесь!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB