Для быстрого старта вы можете посмотреть этот видео урок посвящённый
авторизации в API Яндекс.Директ с помощью пакета
ryandexdirect
.
Для генерации токена в пакете есть две функции,
yadirAuth()
и yadirGetToken()
. Получить токен
можно с помощью любой из этих функций, но я рекомендую использовать
yadirAuth
, функция yadirGetToken()
считается
устарвшей начиная с ryandexdirect 3.0.0.
Разница между ними состоит в том, что yadirGetToken()
просто генерирует токен и перенаправляет вас на страницу где вы можете
его скопировать, а yadirAuth
первый раз направляет вас на
старницу где будет сгенерирован код для получения токена, после чего
сама запрашивает токен и сохраняет в файл, в дальнейшем сама его
обновляет и работает с сохранённым файлом.
Вы можете передавать токен в виде строки в агрумент Token при работе с любой из функций, но этот метод является устаревшим и не эффективным способом работы с функциями пакета ryandexdirect.
В версии 3.5.0 в пакет была добавлена новая функция для прохождения
аутентификации в API yadirAuth()
, но отдельно вызывать её
для получения токена больше не требуется, при любом обращении к API если
вы в используемой функции явно не указываете никакой токен, любая
функция пакета сначала будет искать файл с сохранёнными учётными данными
в рабочей директории, или в папке которую вы укажите в аргументе
AgencyAccount, если файл найден то учётные данные будут
загружены из него, если файл не был найден то будет открыт браузер и вам
потребуется разрешить приложению ryandexdirect доступ к
своему рекламному аккауну, далее будет сформирован код авторизации,
который вам необходимо вставить в R консоль в ответ на запрос “Enter
authorize code:”, после чего функция сама сохранит учётные данные в
файл с именем login.yadirAuth.RData, где вместо login будет
подставлен логин аккаунта к которому вы предоставили доступ, это
необходимо для сохранения токенов полученных для разных аккаунтов. При
следующих обращениях, все функции пакета будут запрашивать токен из
сохранённого файла.
aut <- yadirAuth(Login = "Ваш логин в яндексе", NewUser = TRUE, TokenPath = "token_yandex")
При каждом обращении к API проверяется количество дней до того как используемый токен станет просроченным, если остаётся менее 30 дней токен автоматически будет обновлён, и файл с учётными данными перезаписан.
Ещё раз обращаю внимание на то, что хоть вы в любой момент при желании можете пройти аутентификацию в API Яндекс Директ с помощью функции yadirAuth, но это действие не является обязательным, т.к. при использовании любой функции пакета будет запущен поиск файла с учётными данными, и если файл не будет найден, то автоматически будет запущен процесс авторизации и запроса токена.
yadirGetToken()
Функция для получения токена для доступа к API Яндекс.Директ с помощью упрощённой одноэтапной аутентификации. Полученый токен используется во всех остальных функциях. Перед запуском функции необходимо авторизироваться в яндексе под логином через который есть доступ к аккаунту Яндекс.Директ, далее запустить функции, в окне браузера подтвердить разрешение на доступ к данным.