gifts2017

Yandex.Wordstat. Пример обработки c авторизацией на сервисах Yandex и работы с ними

Опубликовал Юрий Пермитин (YPermitin) в раздел Программирование - Практика программирования

Обработка, демонстрирующая авторизацию на сервисах Yandex и работу с одним из них - Yandex.Wordstat. Используется API сервиса Yandex.Direct для создания и обработки отчетов по статистике запросов.

Описание

Обработка представляет собой небольшой пример реализации взаимодействия платформы 1С:Предприятие 8 с сервисами Yandex на примере Yandex.Wordstat.

Функционал

Обработка имеет следующие возможности:

  1. Получение статистики запросов для ключевых фраз для введенного запроса.
  2. Получение статистики запросов для связанных ключевых фраз.
  3. Выполение авторизации на сервисах Yandex с помощью токенов доступа. Для получения токена нужно ввести идентификатор приложения, которое нужно зарегистрировать по ссылке.

Особенности

Взаимодействие с сервисом Yandex.Wordstat осуществляется по средствам выполнения POST-запросов, данные в теле которых передаются в формате JSON. Подробнее о вызываемых в примере методах Вы можете прочитать в официальной документации API Yandex.Direct, который и предоставляет возможность работы с отчетами Yandex.Wordstat.

При решении практической задачи возникла трудность с кодировкой для кирилицы. Если в теле запроса содержались символы кирилицы, то появлалась следующая ошибка:

Самостоятельно решить проблему не удалось. Пошел другим путем - создал утилиту на .NET Framework 4.5 для отправки POST-запросов. Больше проблем с кирилицей не возникало. В обработке есть два режима отправки POST-запросов: собственными средствами платформы и с помощью утилиты (не забудьте на машине установить .NET Framework 4.5). 

Если кто-то из читателей поможет решить проблему с кодировкой, то буду премного благодарен!

По теме

Если интересно, то в статье "GET и POST-запросы из 1С:Предприятия 8" описал использование POST-запросов как в формате JSON, так и с использование SOAP. Там же есть тестовая конфигурация со всеми примерами.


Мой блог: www.develplatform.com

Скачать файлы

Наименование Файл Версия Размер
Работа с Yandex.Wordstat 40
.epf 35,49Kb
26.03.14
40
.epf 1.0 35,49Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Елена К (Ele1234567) 11.04.14 14:30
Для интернет-предпринимателя то что нужно)
2. Дмитрий Смирнов (chingiz001) 05.11.14 16:14
Что-то не получается у меня запустить. Вроде зарегистрировал, но потом при подключении пишет, что нет Callback URL. А где я его возьму? Автор, хотя бы в общих чертах написал, как регистрировать это приложение. Я, например с API Яндекса вообще не сталкивался, и как проходит регистрация плохо представляю. Если не затруднит, автор, набросайте маленький мануальчик. Очень хочется посмотреть данную разработку.
3. Юрий Пермитин (YPermitin) 07.11.14 08:14
(2) chingiz001, посмотрите официальную документацию от Yandex. Нет смысла писать то же самое: инструкция
4. Дмитрий Смирнов (chingiz001) 07.11.14 12:49
За ссылку спасибо, что-то я сам не нашел, сорри. Потестим.
5. Sergey Vydysh (infantik) 06.04.15 10:38
Зарегистрировал приложение.
Прошел авторизацию - пишет -токен досутупа успешно получен.
Нажимаю Получить статистику - выдает ошибку "Ошибка авторизации сервисами Yandex. Код ошибки: 53. Описание: Authorization error".

Помогите решить
6. Роман К (Cifer) 25.01.16 21:41
(5) infantik, нужно зарегистрировать заявку на доступ к API по адресу https://oauth.yandex.ru
7. Лев Воронов (Zamza) 28.01.16 22:15
Из описания API:
Один пользователь за сутки может получить статистику поисковых запросов для 1000 фраз.
При вызове метода расходуются баллы (см. Ограничения на использование). Если баллов недостаточно, возвращается сообщение об ошибке 152.
Для одного пользователя на сервере хранится не более пяти отчетов (по всем кампаниям). При попытке сформировать шестой отчет возвращается сообщение об ошибке с кодом 31. Отчеты хранятся на сервере в течение пяти часов, а затем автоматически удаляются.


Получается, что пользоваться данным API для практических целей не возможно? Или каким-то образом можно получить у Яндекса "бонусные" балы?


Похожая проблема с кодировкой была при работе с Яндекс картами. Решил её в лоб - посимвольным переводом кириллицы в "%-кодировку".
8. Юрий Пермитин (YPermitin) 29.01.16 05:48
(7) Zamza, на практике пользоваться можно, но не для масштабных задач с проверкой 1 000 000 ключевых слов.
Например, делал подсистему управления рекламными кампаниями. Там был сбор статистики по ключевым словам и ограничение не было критичным.

Про бонусные баллы мне не известно) Но думаю обойти ограничение возможно. Самый простой вариант раньше был использование разных учетных записей.

Похожая проблема с кодировкой была при работе с Яндекс картами. Решил её в лоб - посимвольным переводом кириллицы в "%-кодировку".

А можете показать свое решение? В моем случае это не получилось сделать, т.к. Yandex ругался на некорректный запрос. Хочу посмотреть может что упустил.
9. Лев Воронов (Zamza) 16.03.16 12:16
Скачал обработку. Попытался зарегистрироваться в Яндексе. Оказалось, что сейчас если регистрироваться по простому, то дают доступ только в песочницу. Основное ограничение - в песочнице всё что возвращает API - случайные числа.
Для полного доступа запрашивают:
Опишите, пожалуйста, более подробно, как и какие методы API Директа использует Ваша программа: названия методов; для каких целей используются методы; схема и последовательность вызова методов; с какой частотой производится вызов каждого метода (раз в минуту, раз в час и т.д.) и для каких целей выбрана именно эта частота. Также опишите, как программа производит обработку ошибок, возникающих при работе с API, и как программа учитывает текущие ограничения API Директа.

Но если ответите на эти вопросы, то доступ дают.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа