Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

Экспорт контента



У меня на работе была одна довольно интересная задачка. Звучала она примерно так: "сделать автоматический экспорт контента в социальные сети". Как делать экспорт контента вручную, мы все знаем, а вот сделать автоматически не так-то просто на самом деле. Существуют определённые ограничения.

Во-первых, в Google Plus не имеется никакого способа автоматически постить контент. Google+ API бывает только на чтение. То, что там что-то пилят сбоку чего-то непонятное для Google Plus History, не считается - этим нельзя пользоватся, да я и даже не знаю, что это такое, но, по-моему, это не сам Google Plus.

Во-вторых, в "Одноклассниках" настолько убогая документация, что даже документация к Битриксу кажется неплохой по сравнению с одноклассниковской. Как оно работает, я не смог проверить, потому что в документации написано "нажмите вон на ту кнопку", а если открыть сайт на самом деле, то той кнопки там и нет. Насхлэданоу, парханты.

В-третьих, Twitter остался в прошлом веке, потому что в него логин работает на OAuth первой версии. То есть под него надо писать отдельный механизм авторизации. Я рассчитывал, что сделаю один большой класс типа COAuth20Provider, от него отнаследую соответствующий классы для соцсетей... не вышла красивая архитектура. Документация там тоже убогая на редкость, но раз уж твиттер не вписывался в мою красивую систему классов, я взял просто открытый код на PHP для работы с Твиттером и пришпандорил его сбоку (КоОП - костыльно-ориентированное программирование).

Остались Facebook и Вконтакте. И там и там документация неплохая. Только Facebook месяц не мог мне прислать SMS с кодом подтверждения, чтоб я записался в разработчики и получил доступ к созданию приложений и прочим полезностям. В итоге я в Facebook не ковырялся ещё, но, судя по всему, там нормально всё должно быть. Я надеюсь. А вот Вконтакте... там все сторонние приложения для работы с соцсетью подразделяются на три большие группы - встраиваемые на саму страницу Вконтакте (эти мне не интересны), веб-сайты и стэндэлоны. Причём последние два различаются адресом страницы колбэка, используемой в первой фазе авторизации по протоколу OAuth 2.0. Если указываешь адрес страницы своего сайта, куда приходит колбэк, то твоё приложение - веб-сайт. Указываешь blank.html на самом Вконтакте - standalone.

По причине, которая у меня совершенно не укладывается в голове, приложениям-сайтам недоступны функции постинга на стену. Стендалонам - пожалуйста, хоть всю стену изсрите, а сайтам нельзя. В принципе, я догадываюсь, что это сделано из-за обилия чёрных сеошников, спамеров и прочей пидарасни, которые пишут говноскрипты и загаживают стены пользователям Вконтакта, которые забрели на их сраные тайпсквоттерные сайты в поисках порнушки или скачать музычки нахаляву. Глупые пользователи, для этих целей есть большие ресурсы с огромным выбором контрафактного контента и хорошей модерацией, а они всё шарятся по каким-то тёмным говённым закоулкам по привычке.

Если коллбэк пришёл на какую-то страницу во Вконтакте, то мой сайт, который, по задумке, должен автоматически экспортировать контент в социальные сети, не знает, какой там access_token. Если попробовать обхитрить Вконтакте и открывать страницу с коллбэком как попап, чтоб иметь к ней доступ, за Вконтакте вступаются политики безопасности джаваскприпта - это типичный XSS, который во всех нормальных браузерах давно запрещён. Так что хоть разбейся, но на стену сайт ничего постить не сможет. Из остатков экспериментов на работе я собрал новую систему авторизации для своего project3 (Вконтактик для линуксоидов), но она пока работает через раз почему-то.

Оригинал записи http://blog.axshavan.ru/2013/02/content-export.html
Tags: web, работа, фотог
Subscribe

  • Коуты над Десной, часть 1

    Первого августа, перекрыв дома воду и выключив интренет, мы приехали в городочек Коуты над Десной. Это конечная станция железной дороги вообще,…

  • Плёнка №202

    Плёнка: Fomapan profi line action 400 Фотоаппарат и объектив: Zenit-E + Helios 44-3 2/58 Проявитель: Fomadon LQN Сканер: FilmScan35 II 1 2 3…

  • Плёнка №199

    Всякая нудная техническая информация - что это за плёнка, чего фотографии такие контрастные, и так далее - расположена после снимка номер шесть. 1…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments