Предыстория
Вышел на меня случайно руководитель агентства, с задачей мониторинга баланса своих аккаунтов в Яндекс директ и Google adwords. Чувствовалось, что человек уже пообщался с программистами и заразился от них ругательными словами вроде базы данных, api
Я быстро представил картину того, что нужно примерно сделать, т.к. на тот момент уже хорошо ориентировался в Яндекс api и в администрировании сервера. С Google adwords мне пришлось разобраться, много попотеть и высказать много нецензурных слов. Пару раз даже хотел бросить все это дело. Об этом подробнее читайте далее.
Решение
Требовались данные за прошлый месяц, неделю и день, а также добавить вычисляемый столбец — через сколько закончатся деньги. Рассчитывается он просто:
Средний расход в день = расход за прошлую неделю без выходных/5
На сколько хватит дней = Баланс / Средний расход в день.
База данных.
Так как исторические данные нам не нужны, база данных здесь ни к чему. Пишется все в csv файл. Они забыли, кстати, попросить сделать выгрузку в Google spreadsheets. С его api я тоже разобрался, но доплатить они не захотели. Данные выгружаются на локальный компьютер.
Данные за прошлый месяц скачиваются в первый день нового месяца, за прошлую неделю — в понедельник, за прошлый день — один раз в начале дня. Текущий баланс каждый час или как вы настроите расписание.
Сервер
Зачем сервер? Устанавливаем python на компьютер, создаем через планировщика задач расписание запуска скрипта — при запуске компьютера и ежечасно.
Такое решение избавляет от оплаты сервера и специалиста, который в случае чего, сможет реанимировать сервер.
В общем, написал для них инструкцию.
Какие трудности возникли.
Трудно было понять Api Adwords. Большая справка, много страниц, много букв. Долго вникал, как авторизоваться через api. Из их готовой библиотеки для работы с api, получал access токен 3 дня. В общем, недели две разбирался, как авторизоваться. Тут пару раз и хотел бросить это дело.
Второй неприятностью было ограничение на базовый токен разработчика, который мне выдали. Из-за этого мой скрипт иногда не получал данные из-за превышения квоты запросов к api, хотя по факту, столько запросов к api не посылал.
К этому моменту я был истощен, не было желания продолжать. Токен разработчика без ограничений нужно «вымаливать», так мне казалось, у google на английском языке и не было уверенности, что это поможет. И все-таки решил попытаться получить его, а если не получится, то окончательно забить на это. Так буду считать, что сделал все возможное, совесть будет чистой.
Собравшись с силами, открыл их страницу с кучей вопросов для получения токена и ответил. К моей радости, ответили они быстро. Задали уточняющие вопросы и попросили демо версию моей программы, которой у меня не было. И тут я подумал: «Ну все, точно приехали». Но через часа три мне пришла идея просто сбросить им весь свой код на последок, а вдруг прокатит! И что вы думаете? Следующее письмо было поздравление о том, что мне выдан токен. Вот уж точно, поздравление здесь в тему! За это, после такого, можно и нужно выпить. Скрипт начал работать без проблем.
Вот такая история. Спасибо что прочитали до конца. Надеюсь вам было интересно, я старался.
Если вам требуется подобное решение, обращайтесь. Мои контакты здесь.
Pingback: tadalafil tablets 40mg()
Pingback: tadalafil ebay()
Pingback: buy cialis online with paypal()
Pingback: pre pharmacy courses online()
Pingback: prescription drug()
Pingback: viagra pfizer()
Pingback: cialis reviews photos()
Pingback: female viagra pharmacy australia()
Pingback: cialis timing()
Pingback: pharmacy 100 codeine()
Pingback: cialis no prescription uk()
Pingback: viagra tablets for men()
Pingback: sildenafil online united states()
Pingback: can i buy viagra in india()
Pingback: fast delivery viagra uk()
Pingback: where can i get sildenafil 100mg()
Pingback: buy brand viagra 100mg()
Pingback: cialis discount card()
Pingback: 20mg cialis()
Pingback: new cialis commercial 2010()
Pingback: where to buy teva tadalafil()
Pingback: staggering neurontin()
Pingback: bactrim cenas()
Pingback: metronidazole prophylactic()
Pingback: nolvadex calgary()
Pingback: valtrex tachycardia()
Pingback: lyrica cymbalta interaction()
Pingback: lisinopril cmi()
Pingback: ototoxicity lasix()
Pingback: insulin metformin()
Pingback: kokemuksia rybelsus()
Pingback: what are the side effects of semaglutide()
Pingback: what does rybelsus do()
Pingback: does zoloft cause nausea()
Pingback: metronidazole phenytoin()
Pingback: how much is amoxicillin()
Pingback: lexapro and marijuana()
Pingback: can i give my dog keflex()
Pingback: escitalopram reducing beta amyloid levels()
Pingback: cephalexin 1000 mg twice a day()
Pingback: how to get off of duloxetine()
Pingback: gabapentin cap()
Pingback: cymbalta reviews weight loss()
Pingback: fluoxetine hcl 10mg cap()
Pingback: where to buy generic viagra in canada()
Pingback: ciprofloxacin eye drops child dose()
Pingback: is keflex the same as cephalexin()
Pingback: bactrim vs macrobid()
Pingback: allergic reaction to bactrim()