PHP-класс для работы с API вебмастера

Всем привет!

Сегодня выложили в открытый доступ небольшой PHP-класс, который реализует все интерфейсы API Яндекс.Вебмастера.
Он поможет быстрее осуществить миграцию на новое API тем, кто работал со старым или просто интегрировать функции API в админки своих сервисов.

Находится он в гитхабе по адресу: https://github.com/yandex/webmaster.api
Обратите внимание: для корректной работы необходимо наличие расширений curl и json (от первого, возможно, избавимся если у меня дойдут руки, или кто-то из вас захочет расширить универсальность класса, прописав возможность использовать сокеты).

Внутри есть непосредственно класс в файле webmaster_api.class.php, который можно использовать для работы.

Пример того, как работать с API (папка example)
Там же находится папка example, в которой находится полноценный действующий код, выложив который, вы сможете увидеть практически пример того, как работает API. На текущий момент в этом месте реализована практически вся функциональность, доступная через API (считайте, такая уменьшенная облегченная копия Яндекс.Вебмастера в текстовом дизайне).
Наглядный пример того, как это работает, можно увидеть здесь: http://subdomain.ru/wmapi/ (обратите внимание: это мой личный сервер, Яндекс не несет ответственности за то, что я могу получить данные о ваших сайтах — но я не буду (= )

Для того что бы посмотреть, как работает пример, необходимо сделать две вещи:
1. На странице https://oauth.yandex.ru/client/new создать новое приложение для проекта «Яндекс.Вебмастер». При создании приложения необходимо отметить обе доступные галочки про права доступа. В поле callback url указать непосредственно адрес того места, где у вас будет находиться код примера (в моем случае папка wmapi слинкована на папку example из репозитария, т.о. я указал callback url http://subdomain.ru/wmapi/).
2. Скопировать файл example/config.example.php в example/config.php, и заполнить в последнем переменные $client_id и $client_secret — записав туда данные вашего приложения полученные в предыдущем пункте.

Все, после этого он работает.

Как работает сам класс:
Я постарался максимально подробно и просто расписать каждый метод в коде. Но общие штуки распишу здесь:
1. При иницилизации класса необходимо передать access token. Как его получить можно посмотреть в файле exmaple/auth.php, но там все просто. Для получение token’а по коду реализован статический метод webmasterApi::getAccessToken

1. Первые методы класса — это общие интерфейсы для работы с API. Это методы get,post, delete и несколько дополнительных методов, которые используются внутри. Все они работают по простому принципу: указывается ручка API, к которой мы хотим подключиться, и массив переменных, которые мы хотим передать (обратите внимание: речь идет именно о get и json переменных, которые мы хотим передать в API. Параметры url (user_id, host_id) должны передаваться непосредственно в адресе ручки)
Далее выполняется запрос к api и возвращается результат. В случае если что-то пошло не так, API возвращает объект с полями error_code и error_message (на них нужно смотреть в первую очередь при неудачном ответе). Для совместимости — если что-то пошло не так со стороны php — ошибки возвращаются таким же образом.

2. Далее идут непосредственно методы, отвечающие за получение конкретных данных из API. Подробно я их перечислять не буду, все они прокоментированы очень подробно прямо в коде в стандартном PHPDoc формате. В большинстве случаев название метода соответствует тому, какие ручки АПИ он вызывает (например для получения подробной информации о хосте в АПИ используется ручка /hosts/[hostid]/summary, метод в PHP называется, соответственно, getHostSummary)

Кажется, из ключевых моментов это все.
Магии и сложностей там нет и, кажется, любой, кто хоть чуть-чуть знает php сможет быстро разобраться с тем, как там все работает.

Я — не настоящий сварщик, давайте делать это вместе

Обратите внимание — весь этот код написан лично мной. Исходно писался он, в первую очередь, для внутреннего тестирования API. Позже, в свободное от работы время я постарался довести его до удобного формата и отдать наружу. Я — не разработчик уже много лет и мог упустить что-то из современных «трендов разработки»: поэтому, если вы увидели что что-то сделано не оптимально, захотели что-то поменять, переделать — лучше не писать об этом мне, а просто исправить это самим: Код доступен публично и коммиты доступны всем.
И, пожалуйста, комитьте в репозиторий свои улучшения и исправления багов. Вам это не сложно, а всем остальным это будет полезно.

Профессионалы не должны знать профильное ПО, да?

Почитал на серчах обсуждение окончательного закрытия метрики. Забавно оно. Особенно забавно что в основном ругаются люди, которые «ну вот теперь поработал я в ней и ничего не понятно». Т.е. профессионалы даже не попытались, хотя бы для поддержания квалификации заранее посмотреть нормально новую версию своего рабочего инструмента.

Жалобы на отсутствие пагинатора тоже «доставляют». Господа, в нынешнем мире бигдаты пагинаторы будут постепенно все больше и больше умирать. Хотя бы потому, что вот этот вот самый count(*) становится иногда не решаемой, или очень дорого решаемой задачей. И чем более сложные выборки будут необходимы — тем более актуальным это будет.

З.Ы. Чувствую будущую ветку о закрытии старого вебмастера будет читать еще интереснее

Ряд мыслей о сравнении нашего шоубиза с американским, навеянных прослушиванием Pharrell Williams

Что-то тут решил послушать эту песню, и навеяла она меня на мысли. Вот в чем фишка дорогого американского шоу-биза, и чем он крут. Вот эта песня — хит. В общем-то довольно простая по своей структуре и композиции. В чем же ее фишка (кроме запоминающегося мотива и хорошего голоса?). А в том, что при всей ее простоте, когда внимательно ее слушаешь, понимаешь что там за эти 3 минуты продумана сотня мелочей. От неожиданных легких, едва заметных вставочек до явных эффектов, подключающихся постоянно.

Люди работают над продуктом. И кажется на студии там не 1 не 2 и не 5 а десятки человек, которые дотачивали аранжировку до совершенства — доведя ее до того состояния, когда песня звучит идеально: Люди слышат простой и интересный мотивчик, а аранжировка на фоне давит на психологию и доводит до совершенства эмоциональное состоение тех, кто это слушает.

И у нас такое будет очень не скоро. Ибо даже лучшие образцы нашей попсы, пока что вышли только на уровень хорошей аранжировки и исполнения (Iowa, Елка и т.п.), но пока еще даже не приблизилсь к хорошему пост-продакшну.

Еще одно музыкальное открытие: Wildways

Сегодня я для себя открыл вторую в жизни команду (после grenouer) которая поет по английски и это звучит очень круто и вообще я бы никогда посмотрев их клип не догадался что это Российская группа. А меж тем — да, Российская. Но подписанная на довольно известном европейском лейбле Artery. Пожалуй, одна из лучших наших метал-команд https://www.youtube.com/watch?v=ERYWcbiF3GY

Machine Gun Kelly — Till I Die (Cover by Wildways)

Рок-н-ролл жив!

Чтото я как-то уйдя от музыки застрял в стереотипах. А за выходные и сегодня я как-то прям на серию клипов/треков наткнулся, которые чуть раскрыли мне глаза.
А Альтернативная сцена-то живет!

Вот у Луны неплохой трек, я бы сказал такой — нарочито наивно олдскульный

Нуки выпускает весьма достойные треки, несмотря на абсолютною неадекватность современных СЛОТов, явно ориентированных на аудиторию «до 18»

Amatory тоже ушли вперед и в весьма интересном направлении

Кажется, что в целом на альтернативной сцене команд гораздо меньше чем было «в наше время» (конец 90-х, начало 2000-х). Но при этом качество у них в целом на уровень выше.
Хотя не хватает чуть-чуть грязного, недоработанного звука типа ранних Zdob Si Zdub или тех же тракторов. Но я, возможно, просто не знаю где их искать

Что такое двухэтажный поезд Москва-Петербург (№ 5/6)

Что такое двухэтажный поезд Москва-Петербург (№ 5/6)?

Рассказываю. Это поезд со следующими отличиями (помимо двухэтажности):
1. Если здесь заказываешь завтрак — то тебе приносят его за час до прибытия поезда (несмотря на то что прибывает он в 7 утра) и будят.

2. Несмотря на ранний завтрак, твоя попытка выйти в туалет облегченная мыслями о том, что-де «я рано встал, пока все спят пойду умоюсь» — натыкается на вид очереди туда уже в это время.

3. Надежда позвать проводника и попить кофе натыкается на очередь с противоположной стороны вагона.

4. Когда ты психуешь, уходишь в купе, успокаиваешься и идешь постоять таки в очереди за кофе — тут ны можешь услышать «Кофе закончился, что через 10 минут я еще принесу».

5. попытка заказать «кофе с молоком» упирается в «у нас есть либо 3-в-1 либо заварной но черный». Примерно тоже самое при попытке заказать «Чай с лимоном».

Это я еще не приехал, ждем какие еще сюрпризы будут.

Походу в эту субботу есть смысл посмотреть футбол.

Я тут посмотрел и понял что суббота — тот день когда надо будет посмотреть футбол, там походу интересно.

Краснодар имеет все шансы на второе место — а значит на выход в Лигу Чемпионов.

Для этого ему нужно обыграть Динамо и что бы при этом ЦСКА не выиграли в матче с Рубином.
Динамо если проиграет Краснодару — имеет шанс вылететь из еврокубковой зоны, если в параллельном матче Рубин обыграет Уфу. Уфе важно выиграть, т.к. иначе её может обойти Ростов и тогда Уфе придется играть стыковые матчи.

Но шансы у Уфы небольшие (Рубин на уровень выше и борется за еврозону), а значит Ростов будет во всю силу стараться обыграть ЦСКА. А ЦСКА нельзя проигрывать, т.к. смотри начало.

Вторая часть балета:
Торпедо нужно выигрывать у Мордовии если они хотят остаться в РФПЛ (и при этом надяться что либо Урал либо Ростов в своей игре проиграет — что совсем не исключено)
Арсенал — та же ситуация, только нужно что бы Урал или Торпедо проиграло. проиграл (как я понимаю — Ростов они уже не обгонят никак). Для этого Арсеналу нужно выиграть у Кубани.

В общем с одной стороны все более-менее ясно, с другой — миллион интриг.

Походу суббота — тот самый день когда футбол будет интересно посмотреть.

Лоуренс Краусс. Очень круто о физике, мире и религии.

Недавно я, блуждая по астрономическим группам вконтакте (да-да, я очень люблю астрономию, и да-да, во вконтакте есть не только детское порно) случайно наткнулся на ролик с лекцией о возникновении вселенной.

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

Я могу сказать, что я, пожалуй, запишу себя в стан фанатов это ученого.
Лоуренс Краусс — ученый астрофизик и космолог. Лауреат множества премий по физике. Но, главное — один из ведущих популяризаторов науки в США.

Его лекции — это не набор стандартов, поданных «чуть проще чем обычно». Его лекции — это феерия хорошего юмора, красивого упрощения и понятного объяснения сложных вещей.

Во время его беседы с Ричардом Докинзом (тоже известным популяризатором науки, но уже биологом) мне очень понравилась его позиция про Бога: «Я не атеист. Я — ученый. Я не могу доказать, что бога не существует (пока науке хоть что-то не известно — это всегда можно отнести к «божественному»). Поскольку я не могу это доказать, я не могу утверждать что его нет. Но то, что я вижу, занимаясь наукой говорит мне об одном: Вероятность того, что бог существует — ничтожно мала. И, знаете, я бы не хотел жить во вселенной, в которой существует бог».

Рассказывая о Теории Относительности, ссылаясь на то, что «сейчас 9 утра», он гениально упростил одну из формул:

Ну и фееричная фраза «Мне кажется мы сегодня оскорбили недостаточно людей, так что продолжим», в середине разговора с Докинзом. Хороший научный цинизм.

Кстати, эта картинка, которая уже стала мемом тоже из его лекции:

В общем даже если вы далеки от науки — попробуйте посмотрите. Это действительно круто.

«Кому какое дело до того, что ты чувствуешь. Что тебе помогает спать, что тебя успокаивает, что помогает тебе жить? Кому какое дело? Важна правда. И только она».

Беседа с Ричардом Докинзом: «Что-то из ничего»

P.S.
«В конгрессе 531 конгрессмен. Из них 1 открыто заявляет что он не верит в Разумное Создание… Мне кажется, чисто статистически таких людей должно быть больше. Хотя бы потому, что, скорее всего, у кого-то из конгрессменов должно быть образование».

О Копирастии…

Последние несколько лет, я был ярым сторонником копирайта.
Я всегда призывал к тому, что музыку нужно стараться покупать, фильмы смотреть в кино или покупать, а софт должен быть лицензионным.

Я до сих пор так считаю — все вышеуказанное требует сил, на своё создание, и авторы должны получать за эту работу деньги.

Когда в России принимали антипиратский закон, я был не очень доволен при этом читая его. Сейчас я вижу как он начал действовать.

Я вижу что на торрентах по прежнему нет проблем со скачкой нелицензионного софта. Музыка также доступна.
Но при этом очень большие проблемы начались с фильмами. И все бы хорошо, но помимо фильмов под раздачу попали сериалы.

Мы с женой любим посмотреть накоторые из них:
Теория Большого Взрыва, Кости, Декстер, Город Хищниц

Все эти сериалы не выходят в России, а если выходят, то с огромной задержкой. С недавнего времени последние сезоны этих сериалов пропали почти из всех мест, где их можно было посмотреть.

Нет, я готов с этим смириться. Эти сериалы — хороший продукт и я готов (и даже хочу) заплатить за их просмотр — деньгами ли, рекламой ли — не важно.

Но мне не дали такой возможности. Копирасты сказали «мы хотим что бы вы нам платили», но при этом не дали мне возможность заплатить. Они просто сказали «У нас до этих продуктов руки не дошли, потому тебе просто теперь нельзя их смотреть».

Дорогие копирасты. Я не знаю, что вы делаете и как вы делаете и почему вы это делаете. Но вы — криворукие дегенераты, которые уже очевидно совершенно непонимают как работает рынок. Вы — недееспособные люди, которые привыкнув жить в своем замкнутом мирке — не умеете решать задачи. Вы умеете устранять видимые проблемы, порождая новые.
Если бы я в работе имел бы такие же подходы к задачам, какие и вы — я был бы давно за пределами рынка.

Знаете почему в интернете очень много людей смотрит зарубежные сериалы, иногда даже те которые выходят у нас на ТВ (хотя таких очень мало)? Потому что в интернете этими сериалами занимаются люди, которые умеют этим заниматься и хотят. Потому что когда выходит новая серия — уже через 1-2 дня она озвучивается очень классной группой переводчиков и появляется в сети. Вам не нравится что люди это смотрят бесплатно? Давайте, расскажите мне какие же прибыли и кто упускает от того, что я эти сериалы смотрю нелегально.
А может быть вы прежде чем выпускать ТАКОЙ закон или устраивать ТАКИЕ репрессии подумали бы — а как бы сделать так, что бы, например, телевидение, или те же лицензионные онлайн-кинотеатры научились работать также. Только оплачивая работу переводчикам, делая лицензионные выплаты и тогда воплне логично требуя деньги за просмотры?

Но нет. now.ru, ivi.ru — совершенно спокойно продают доступ к 1-5 сезонам теории большого взрыва, не имея никакого отношения ни к переводчикам ни к лицензиантам. А 6-го сезона теперь нет нигде.

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

Владимир Бортко (КПРФ), Елена Драпеко (Справедливая Россия), Мария Максакова-Игенбергс (Единая Россия), Мария Кожевникова, Леонид Левин и Роберт Шлегель — Я считаю, что Вы занимаетесь не тем вопросом, в котором вы хоть чуть-чуть профпригодны. Если из закона о копирайте вы умудрились сделать что-то что сторонников копирайта переносит в лагерь его противников — значит вы абсолютно недееспособны, являетесь людьми с замутненным сознанием. Я рад за то, что вы находитесь в тепленьком местечке, в котором можно спокойно пожинать капусту, не имея никаких амбиций и стремлений, но когда-нибудь эта лафа закончится. И когда она закончится, я буду против общественных судов над нынешней властью, но буду радостно плясать над костями людей, которых я перечислил выше…

Очень хотелось бы, что бы Ваша тупость вам когда-нибудь аукнулась. Отдельный привет Марии Кожевниковой — которая казалось бы достаточно молода, что бы хоть чуть-чуть понимать что такое интернет и современные технологии. Но, Увы, похоже это внучка все той же совдепии.

Негодую.