Как добавить twitter Вконтакте

Здравствуйте, меня зовут Евгений, и я алкоголик люблю социальные сети. В силу отсутствия каких-либо намеков на писательский талант я предпочитаю Twitter — его ограничение на 140 символов избавляет от необходимости придумывать что-то длинное. К тому же, только для твиттера есть нормальный java-клиент, которым я раньше пользовался на мобильном телефоне.
С другой стороны, бóльшая часть моя знакомых использует ВКонтакте, да и мне, честно говоря, нравится слушать там музыку и читать новости. Очевидно, что писать самому в две разных соцсети неудобно, нужно это автоматизировать — использовать кросспостинг (перенос постов).
Далее небольшое описание моего не совсем обычного способа кросспостинга.

Еще немного предыстории

Ранее для переноса записей я использовал IFTTT. Это было не слишком удобно — посты переносились раз в 15 минут, спецсимволы энкодились (» превращалось в «), ссылки переносились сокращенными (t.co) — Вконтакте ругался при попытке перейти по этим ссылкам. Однако из-за недавних изменений в Twitter API, IFTTT был вынужден отключить «рецепты», которые читают твиты. Мне пришлось искать новый путь.

Twitter аккаунт, от А до Я.

Внезапно™ я узнал, что у Вконтакта есть официальный способ импортировать твиты, но для этого приходится использовать хэштег #vk. После пары дней тестирования, оказалось что работает это не всегда (видимо опять срабатывали новые ограничения Twitter API на количество запросов), плюс оставалась проблема с ссылками.
Конечно, самым простым способом было бы использование скрипта, который будет переносить записи. На хабре неоднократно писали о разных способах кросспостинга, но все эти способы упирались в отсутствие у меня своего сервера. Покупать же платный хостинг (пусть и недорогой) для одного простенького скрипта смысла мало.
Но вот недавно, ползая по интернету в поисках новой версии прошивки для своего роутера, меня осенило, что на базе моего Zyxel Keenetic можно сделать небольшой веб-сервер! Еще перед покупкой я читал о таких возможностях роутера, но потом это как-то вылетело из моей головы. И вот я приступил к реализации задуманного проекта — кросспостинга из Twitter в Вконтакте с помощью роутера.

Москва не сразу строилась
  • переносить твиты сразу после их появления либо при запуске скрипта через cron
  • не переносить ответы, ретвиты и упоминания
  • разворачивать сокращенные ссылки t.co в тексте твита
  • по возможности копировать приложенные картинки (например, Instagram)

Так как я делал скрипт только для себя, то я не стал делать получение access token, а взял его сразу со страницы настроек моего Twitter-приложения. За пару часов с помощью perl-модуля было написано простенькое консольное приложение, выводившие твиты. На моем компьютере все работало отлично. Для проверки на роутере установил все нужные пакеты (как мне казалось), запустил скрипт, и… ничего.

Еще по теме:  Очистить данные приложения Вконтакте что это

Не работает. Я установил все имеющиеся пакеты для Perl, не помогло. Путем гугления по тексту ошибки выяснил, что скорее всего, проблема из-за отсутствия какого-то perl-модуля, в результате скрипт не может правильно работать с SSL. В итоге было решено оставить Perl, и попробовать Python.

ВАЖНО! Как добавлять Теги Друзей в твиттере при прохождении Airdrop! Где брать, куда вставлять?

Perl умер, да здравствует Python

Скачал PyCharm, стал изучать синтаксис. Если честно, после .NET был в шоке от использования отступов в качестве обозначения блоков:) Разобрался в синтаксисе, нашел модуль tweepy, и довольно быстро мой скрипт вывода твитов был переписан на Python. Устанавливаю пакеты python на роутер, запускаю скрипт — о, чудо! Работает! Осталось дописать побочный функционал и запись постов в Вконтакте.
Для начала разберемся с функционалом.
Разворачивание ссылки. Если твит содержит ссылку, то Twitter возвращает нам JSON, в котором есть элемент «entities» , содержащий «urls» . Выглядит это примерно так:

«entities»: < «hashtags»:[], «user_mentions»:[], «urls»:[< «indices»:[0,21], «display_url»:»dev.twitter.com/terms/display-u2026″, «url»:»https://t.co/Ed4omjYs», «expanded_url»:»https://dev.twitter.com/terms/display-guidelines» >] >

В тексте твита содержится «url» , поэтому для разворачивания ссылки нужно просто в тексте заменить значение «url» на значение «expanded_url» .
Получение изображения. Если к твиту приложена картинка, то в «entities» добавится элемент «media» , вот так:

«entities»: < «hashtags»:[], «user_mentions»:[], «urls»:[], «media»:[< «type»:»photo», «media_url»:»http://p.twimg.com/A7kqLpACEAAUlwz.png», «indices»:[0,20], «sizes»: < «large»:, «small»:, «thumb»:, «medium»: >, «display_url»:»pic.twitter.com/XzDoEpH9″, «media_url_https»:»https://p.twimg.com/A7kqLpACEAAUlwz.png», «url»:»http://t.co/XzDoEpH9″, «expanded_url»:»http://twitter.com/TestTwVK/status/268292032273977344/photo/1″, «id»:268292032278171648, «id_str»:»268292032278171648″ >] >,

Прямая ссылка на изображение содержится в элементе «media_url» . Мне пришлось сохранять картинку во временный файл на локальном диске, не нашел способа загрузить его в ВК напрямую с сервера твиттера.

Посмотрим на получивший код для работы с Twitter.
Сначала авторизуемся и начинаем читать стрим

url = «https://userstream.twitter.com/1.1/user.json» param = header = <> auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_key, access_secret) auth.apply_auth(url, «POST», header,param) logging.info(‘Twitter authorization successful’) #запрос твитов req = urllib2.Request(url) req.add_header(«Authorization», header[«Authorization»]) r = urllib2.urlopen(req, urllib.urlencode(param), 90)

Читаем ответы, если это твит — обрабатываем его
while True: #получаем длину твита length = «» while True: c = r.read(1) if c == «n»: break if c == «»: raise Exception length += c length = length.strip() if not length.isdigit(): continue #читаем ответ указанной длины tweet = json.loads(r.read(int(length))) #если это твит — запускаем его обработку if «user» in tweet and «text» in tweet and «created_at» in tweet and «id» in tweet: handleTweet(tweet)

Метод обработки твита:

Работа с ВКонтакте

Здесь vkToken — полученный токен для ВК, method — имя метода из списка методов VK API, data — какие-то данные для метода.

Чтобы прикрепить картинку к посту на стене, нужно загрузить ее в альбом пользователя. Для фотографий на стене в ВК есть специальный альбом и специальные методы для работы с ним. Сначала получаем ссылку для загрузки фото, затем сохраняем картинку. В итоге получился такой метод:

def uploadPhoto(fileUrl): #получаем url для загрузки фото response = vkMethod(‘photos.getWallUploadServer’) uploadUrl = response[‘response’][‘upload_url’] #сохраняем фото локально urllib.urlretrieve(fileUrl,’temp.jpg’) #загружаем фото в ВК files = response = requests.post(uploadUrl, files = files).json #добавляем фото в альбом response = vkMethod(‘photos.saveWallPhoto’, response) #возвращаем id фото return response[‘response’][0][‘id’]

Еще по теме:  Vk cz npcl r что это

Данный метод возвращает ID загруженной картинки, который можно указать непосредственно при создании сообщения на стене:

attachments = uploadPhoto(photo[«media_url»]) vkMethod(‘wall.post’, )

При этом, если attachments будет пустой строкой — то сообщение все равно появится на стене, без вложений.

Работа с EyeEm

Я использую EyeEm (это аналог Instagram, но с нормальными Privacy Terms), и недавно подумал, что фото оттуда хорошо бы загружать в ВКонтакте. К счастью, у EyeEm есть очень простой и понятный API, и буквально в две строчки в скрипт можно добавить поддержку загрузки фоток из него.
Метод получения ссылки на фото по ее ID

def getEyeEmPhotoUrlById(photoId): url = «https://www.eyeem.com/api/v2/photos/?access_token=».format(photoId, eyeEmToken) response = requests.get(url).json return response[‘photo’][‘photoUrl’]

Теперь находим ссылку на фото в твите, получаем ее url и так же загружаем в ВК
if url[«expanded_url»].startswith(«http://www.eyeem.com/p/»): eyeEmId = url[«expanded_url»].replace(«http://www.eyeem.com/p/», «») photoUrl = getEyeEmPhotoUrlById(eyeEmId) attachments = uploadPhoto(photoUrl)

Установка скрипта на роутер
  1. Форматируем флэшку в NTFS, создаем на ней папки system/bin
  2. Вставляем флэшку в роутер, открываем ее в проводнике и копируем туда файл ext_init.sh
  3. Перемонтируем диск — через веб-интерфейс отключаем диск, перевтыкаем флэшку. Ждем пока в логах роутера появится запись » dropbear[4017] Running in background «
  4. Подключаемся по SSH (root/zyxel) и выполняем finish_install.sh. Ждем окончания создания swap.

*/15 * * * * killall -9 «python» ; /media/DISK_A1/system/usr/bin/python /media/DISK_A1/system/root/TwVk.py

aleksandr-kuzmin.ru

Меня зовут Александр Кузьмин! На сайте собраны мои хобби и интересы! Изучаю языки программирования: javascript, 1c, php, vba. Увлекаюсь видеомонтажом, работаю в программах premiere pro, After Effects, DaVinci Resolve 16 | Blackmagic Design. Люблю постоянно что-нибудь изучать!

В общем занимаюсь самосовершенствованием!

Как добавить Twitter в VK?

Автор статьи: Александр Кузьмин августа 04, 2020

П ривет, друзья! Судя по аналитике статей, я вижу что всех мучает один вопрос, как добавить Twitter в VK ? Недавно я писал статью про это и почитать её можно здесь!

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

В прочем я и не очень расстроился так как есть много разных способов автоматизировать данный процесс авто постинга! Об этих сервисах я писал в других статьях! Посмотреть можно здесь!

Ч то могу сказать тема авто постинга очень интересная так как мы сейчас живём в такое время, что всё крутится вокруг интерне и завязано на сайтах и социальных сетях! В дальнейшем я буду писать статьи про авто постинг разных сервисов!

Источник: aleksandr-kuzmin-v.blogspot.com

Добавляем друзей в Twitter

В основе любой социальной сети находится социальный компонент. Вы находите интересных людей, своих друзей и знакомых, следите за их новостями, реагируете на них, общаетесь. Аналогичные действия совершают по отношению к вам. Если у вас не будет фолловеров или если вы не будете ни за кем следить в Twitter, то смысл в регистрации в этой социальной сети отпадёт.

Еще по теме:  Как уменьшить масштаб Вконтакте на телефоне

Давайте рассмотрим, как можно найти в этой социальной сети потенциально интересных вам людей, а также добавить уже знакомых вам лиц.

Как искать друзей в Твиттере

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

Добавление друзей в Твиттере – это просто нахождение микроблогов интересующей вас тематики или человека и подписка на этот блог. В Twitter реализовано несколько вариантов поиска интересующих аккаунтов. Например, вы можете искать человека по его имени или пытаться добавить человека из списка своих контактов в других сервисах.

Вариант 1: Поиск по имени/нику

Это наиболее простой вариант поиска человека в социальной сети Twitter. Реализуется этот вариант следующим образом:

    Выполните авторизацию на своей странице в Твиттере. Вы можете искать нужных людей и без авторизации в социальной сети, но при этом вы не сможете с ними никак взаимодействовать.

Вариант 2: Рекомендации сервиса

В процессе регистрации Твиттер спросит у вас, какими категориями вы интересуетесь, а также попросит импортировать контакты из других сервисов. Исходя из этих данных вам будет подобран список личных рекомендаций аккаунтов, которые могут быть вам интересны. Взаимодействовать с этой подборкой можно следующим образом:

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

Вариант 3: поиск по email

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

Однако вы можете найти своих знакомых из списка контактов в почтовых сервисах. Для этого нужно произвести экспорт контактов из почтовых сервисов. В таком случае Твиттер автоматически найдёт тех ваших знакомых, которые зарегистрировались в социальной сети. Процесс добавление друзей этим способом выглядит так:

    Снова обратите внимание на правую часть интерфейса социальной сети. В блоке «Кого читать» будет расположена кнопка «Найти знакомых». Если этой кнопки нет, то воспользуйтесь ссылкой «Подключить другие адресные книги».

Таким нехитрым образом вы можете найти себе новых друзей в Твиттере или просто интересные аккаунты. Если у вас остались вопросы по теме статьи, то напишите их в комментариях.

Источник: public-pc.com

Рейтинг
( Пока оценок нет )
Загрузка ...