Как создать приложение в twitter

Обновлено: 19.09.2024

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

Данное руководство поможет создать приложение Twitter и написать сценарий Python, который будет использовать библиотеку Tweepy для работы с Twitter API.

Требования

  • Учётная запись Twitter с действительным телефонным номером. Добавить номер можно в разделе Mobile в настройках аккаунта.
  • Среда разработки Python на локальной машине или сервере.

1: Разработка приложения Twitter

Создайте приложение Twitter и извлеките ключ и токен для доступа к API. Токены необходимы для аутентификации приложений Twitter. Как сказано в разделе Требования, для этого вам понадобится действительный телефонный номер.

Откройте браузер и перейдите по ссылке:

Пройдите аутентификацию, указав учётные данные аккаунта Twitter. После этого нажмите кнопку Create New App.

На экране появится страница разработки приложений.

Примечание: Имя приложения должно быть уникальным. Вы не можете использовать имя, предложенное в руководстве.

Прочитайте соглашение разработчиков Twitter. Если вы согласны с его условиями, установите флажок в Yes, I have read and agree to the Twitter Developer Agreement.

Нажав на кнопку Create your Twitter application, вы получили форму для подтверждения.

После этого вы будете перенаправлены на страницу Details, где вы найдёте общую информацию о приложении.

2: Настройка доступа и создание токенов

Со страницы Details перейдине на страницу Permissions, чтобы настроить права доступа к приложению.

По умолчанию приложения Twitter открывают доступ для чтения и записи. Если в вашем случае это не так, настройте такой доступ самостоятельно. Это позволит вашему приложению отправлять посты от вашего имени.

Теперь нужно сгенерировать ключи и токены для приложения. Откройте вкладку Keys and Access Tokens. Здесь вы найдете списки Consumer Key и Consumer Secret. Также на этой странице можно сгенерировать Access Token и Access Token Secret. Эти ключи и токены необходимы для аутентификации клиентского приложения Twitter.

После этого вы будете переадресованы на страницу, где вы найдёте нужные токены, а также уровень доступа приложения (Read and write), имя и ID владельца.

3: Установка Tweepy

Для работы с Twitter APIможно использовать множество различных языков программирования и связанных с ними пакетов. Чтобы протестировать приложение Twitter, мы напишем на основе Python и пакета Tweepy сценарий, который будет создавать пост в Twitter от вашего имени.

Tweepy – это простая в работе открытая библиотека для взаимодействия программ Python с Twitter API.

Установите библиотеку Tweepy.

Разверните среду разработки Python 3 и создайте новый каталог (например, twitter) и установите в него Tweepy.

Сначала нужно обновить pip.

pip install --upgrade pip

После этого можно установить Tweepy:

pip install tweepy

Теперь можно приступать к разработке сценария Python.

4: Создание приложения Python для взаимодействия с Twitter

Разработайте клиентское приложение, которое будет создавать посты в ленте Twitter. Создайте новый файл Python под названием helloworld.py:

Теперь напишите сценарий. Импортируйте библиотеку Tweepy:

Создайте переменные для каждого ключа и токена.

import tweepy
consumer_key = 'your_consumer_key'
consumer_secret = 'your_consumer_secret'
access_token = 'your_access_token'
access_token_secret = 'your_access_token_secret'

Примечание: Замените условные данные ключами и токенами, полученными в разделе 2. Эти значения нужно брать в одинарные кавычки.

Установите токены доступа и укажите параметры API:

import tweepy
consumer_key = 'your_consumer_key'
consumer_secret = 'your_consumer_secret'
access_token = 'your_access_token'
access_token_secret = 'your_access_token_secret'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

В конце файла поместите настройки поста Tweepy. Создайте переменную tweet и передайте ей метод api.update_status(). Внутри метода укажите status=tweet.

Сохраните и закройте файл. Запустите сценарий:

Проверьте аккаунт Twitter.

Программа должна была добавить новый пост.

Заключение

Теперь вы знаете, как написать приложение Twitter с помощью Python 3 и библиотеки Tweepy.

Если вы предпочитаете работать с другим языком программирования, ознакомьтесь с этим списком библиотек, поддерживаемых текущей версией Twitter API.

Для того, чтобы использовать twitter api необходимо зарегистрировать приложение. Для этого надо перейти по ссылке, войти в аккаунт (создать, если нет) и нажать кнопку Create New App . Далее необходимо заполнить поля нашего приложения.

ApplicationInfo.jpg

  • Поля name , description придумаем сами, они нигде не будут видны, кроме как в вашей учётной записи в твиттере.
  • В качестве Website можем указать любой несуществующий, но, если у вас есть сайт, то можете указать ваш.
  • Параметр Callback URL нужен для веб-приложений, поэтому вместо него можем также ввести любой сайт.

ApplicationAgreement.jpg

После этого ставим галочку, что согласны с условиями пользования и нажимаем кнопку Create your Twitter application . Видим информацию о нашем приложении. Если понадобится, то можно изменить поля в любое время.

ApplicationCreated.jpg

Далее нажимаем на вкладку Keys and Access Tokens . Увидим следующую форму:

ApplicationKeys.jpg

Чёрным прямоугольником закрашена информация о нашем аккаунте в целях безопасности. Также надо было поступить и с полями Consumer Key (API Key) и Consumer Secret (API Secret) , но мы их просто сгенерируем заново, чтобы использовать эти данные в уроке. Не показывайте никому эти поля, это небезопасно.

Скопирум поля Consumer Key (API Key) и Consumer Secret (API Secret) . Они однозначно идентифицируют наше приложение и будут учитываться при его авторизации.

Поле Access Level должно иметь значение Read and write . Это говорит о том, что мы сможем как считывать информацию о пользователе, так и добавлять новую.

Нам надо добавить следующую строку в наш файл build.gradle(Module:app) .

Давайте сразу же добавим два новых ресурса в наш файл strings.xml . Это и будут те значения Consumer Key (API Key) и Consumer Secret (API Secret) , которые мы получили, когда регестрировали приложение. Они должны выглядить следующим образом. strings.xml

Вам вместо этих значений надо ввести те, которые вы получили при регистрации приложения. Библиотека twitter-kit автоматически получит эти значения, т.к. мы используем name ресурса, который указан в документации библиотеки.

Также нам надо указать, что мы используем свой Application . Для этого надо в файле AndroidManifest добавить атрибут android:name=".TwitterApp" у блока application . Наш файл выглядит так после этого изменения:

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

Добавим в пакет activity новый файл AuthActivity .

Также добавим нашу новую Activity в манифест и сделаем её стартовой.

Видим, что теперь стартовой Activity является AuthActivity . На это указывает значение android.intent.category.LAUNCHER в блоке intent-filter .

Теперь давайте добавим layout для нашей активити. Создадим файл activity_auth.xml

Наш экран состоит из одной кнопки, которая будет выполнять всю логику авторизации. Изначально мы хотели сделать два EditText и Button , но Twitter не предоставляет логины и пароли пользователей сторонним сервисам. Они используют протокол OAuth для безопасной авторизации. Подробнее про протокол здесь.

Наш файл AuthActivity выглядит так:

Здесь мы просто добавили переменную типа TwitterLoginButton , которая будет выполнять за нас всю работу по авторизации приложения. Также мы добавили слушателя событий new Callback<TwitterSession> , у которого есть два метода:

Также мы переопределили метод onActivityResult (если вам ещё не известно, для чего используется данный метод, то ознакомьтесь с данным уроком) и вызвали mTwitterLoginButton.onActivityResult . Это необходимо для того, чтобы результат авторизации передать из нашей Activity в объект mTwitterLoginButton .

AuthActivity.jpg

После того, как нажмём кнопку Log in with Twitter , мы переходим на страницу авторизации пользователя, которая можем выглядеть по-разному. Если у вас есть мобильное приложение Twitter , то откроется мобильное приложение. Если нет, то браузер. У нас выглядит так:

UserAuthPage.jpg

Отлично, мы закончили с логикой авторизации. Давайте только после успешной авторизации сделаем переход на экран UserInfoActivity . При этом будем передавать id пользователя. Это нам понадобится для запроса данных о пользователе в следующем уроке. Давайте вынесем эту логику в отдельный метод navigateToUserInfo . Также давайте создадим константу USER_ID , чтобы мы могли ссылаться на неё внутри UserInfoActivity при получении данных.

Этот метод мы будем вызывать внутри success обработчика mTwitterLoginButton . Полный код выглядит так:

Давайте убедимся, что мы получили наши данные на экране UserInfoActivity.class . Для этого получим данные используя метод getIntent() и выведем id пользователя, используя ( Toast ).

Добавим код в метод onCreate в классе UserInfoActivity .

Ещё один момент. Помните, как мы делали навигацию на экране SearchUsersActivity :

AuthCompleted.jpg

На странице http://dev.twitter.com найдите ваш аватар в правом верхнем углу и наведите на него мышкой. Вы увидете меню, которое содержит(помимо остального) "My applications". Выберите его, чтобы увидеть страницу со списом ваших Twitter приложений. Если вы ещё не создавали ни одного приложения, список будет пуст.

Нажмите на кнопку . На странице Create an application заполните необходимые поля с информацией о вашем приложении.


В поле Name введите название вашего приложения, но не более 32 символов. В поле Description введите описание вашего приложения, от 10 до 200 символов.

В поле Website укажите URL, который указывает пользователю на ваше приложение, где они могут загрузить его и найти больше информации.

Секция Rules Of The Road отображает правила, которые вы должны принять, если вы хотите, чтобы ваше приложение использовало Twitter API.


Правила включают руководства по стилистике отображения твитов и предостережение воссоздания функциональности своих клиентов Twitter. Рекомендуется их прочитать, чтобы быть уверенным, что вы не нарушаете их.

Если вы согласны с правилами, отметьте "Yes, I agree".

Ввод кода с картинки гарантирует, что вы не пользуетесь автоматизированными средствами.


Нажмите на кнопку "Create your Twitter application" для отправки формы и перехода на страницу настроек приложения.


Здесь вы указываете детали о вашем приложении, что оно будет делать и т.д.

Главными полями являются Consumer Key и Consumer secret. Эти значения являются входными данными вашего приложения в Twitter. Они вам необходимы для совершения большинства вещей в Twitter, включая авторизацию через OAuth и работу с Twitter REST API.

Проверка регистрации

Теперь вы можете использовать ваши ключ и секретное слово для доступа к Twitter API.

Клонируйте проект из GitHub:

Запустите утилиту, просто запустив её из командной строки с использованием Gradle

Или если используете Maven:

Либо запустить приложение прямо из Gradle:

Вам будет предложено два диалога. В первом вас попросят ввести Consumer ID вашего приложения, во втором - Consumer Secret. Скопируйте и вставьте значения со страницы настроек приложения.

Создать приложение для Twitter и API-интерфейс

Даже если вы не обычный пользователь Python, использование одной из библиотек Python в Twitter весьма полезно, когда дело доходит до аналитики. Например, в то время как веб-разработчики могут быть более склонны использовать язык, такой как PHP, для подключения к API, Python предлагает большую гибкость в анализе тенденций и статистики с данными. Таким образом, исследователи данных и другие аналитики считают, что Python лучше подходит для этой цели.

В этом руководстве мы начнем с некоторых основных шагов по подключению Python к API Twitter, а затем рассмотрим, как передавать нужные данные. Обратите внимание, что хотя библиотека Twitter (и другие библиотеки Python, такие как Tweepy и Twython ) могут выполнять множество различных задач с данными, я сосредоточусь на некоторых более простых (и полезных) запросах в этой статье. В частности, я пойду через, как:

  1. подключите Python к API Twitter, используя соответствующие учетные данные
  2. скачать твиты, связанные с конкретным аккаунтом
  3. скачать список всех подписчиков и подписчиков для аккаунта
  4. опубликовать несколько твитов одновременно
  5. настроить поиск экземпляров определенного термина в Twitter.

1. Подключите Python к API Twitter

Это руководство использует iPython в качестве интерфейса Python для подключения к Twitter. Чтобы подключиться к API, нам необходимо получить Ключ потребителя, Секрет потребителя и Секрет токена доступа .

создать приложение

Создав приложение, вы найдете соответствующие ключи и токены в разделе Ключи и токены доступа .

ключ потребителя

токен доступа

Сначала мы устанавливаем библиотеку python-twitter в наш терминал следующим образом:

После этого мы импортируем библиотеку Twitter и вводим учетные данные следующим образом:

Как только введены правильные учетные данные, соединение с API завершено, и теперь мы можем контролировать нашу учетную запись Twitter через платформу Python!

Теперь, когда мы подключили Python к API Twitter, мы можем приступить к удаленному использованию различных функций Twitter. Например, если мы хотим загрузить пользовательскую временную шкалу твитов, мы делаем это с помощью api . GetUserTimeline как api . GetUserTimeline ниже (и указываем имя экрана для соответствующей учетной записи), а затем с помощью функции print ( ) для отображения результатов:

После того, как мы ввели выше, мы видим соответствующую временную шкалу, отображаемую в интерфейсе Python:

получить временную шкалу пользователя

Библиотека Twitter также позволяет нам загружать список учетных записей, за которыми следует конкретный пользователь, а также учетные записи, которые являются подписчиками этого конкретного пользователя. Чтобы сделать это, мы используем api . GetFriends ( ) для первого и api . GetFollowers ( ) для второго:

найти друзей

получить последователей

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

4. Опубликовать несколько твитов

опубликовал твит 1

опубликовал твит 2

5. Поиск твитов

Функция GetSearch ( ) включенная в библиотеку Twitter, является особенно мощным инструментом. Эта функция позволяет нам искать определенный термин в Twitter. Обратите внимание, что это относится ко всем пользователям, которые ввели определенный термин, а не просто к учетной записи, для которой мы предоставили учетные данные в Python.

поиск с

Обратите внимание, что мы можем настроить GetSearch ( ) различными способами, в зависимости от того, как мы хотим извлечь данные. Например, хотя для потоковой передачи потребуется значительно больше времени, если не указана дата, мы также можем выбрать сбор твитов до 21 ноября 2016 года, которые содержат термин «большие данные», следующим образом:

Следует помнить, что эта функция загружает данные за 7 дней до даты, указанной в переменной while.

GetSearch ( ) функцию GetSearch ( ) , мы увидим, что Python возвращает следующие твиты (и, конечно, какое лучшее место, чтобы найти Дональда Трампа!):

геокод

Как эти данные могут быть использованы?

Вывод

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

Конечно, взаимодействие API с Twitter может осуществляться на разных языках, в зависимости от вашей конечной цели. Если целью является веб-разработка или дизайн, то лучшим выбором будет PHP или Ruby. Однако, если ваша цель состоит в том, чтобы использовать данные, полученные из Twitter, для проведения содержательного анализа, то Python находится в своей собственной лиге. В этом контексте я настоятельно рекомендую Python, когда дело доходит до серьезного перебора чисел в Твиттере.

Как создать приложение Twitter и интерфейс API через Python


Время прочтения статьи: 9мин.

Даже если вы новичок в Python, использование пакета зависимостей Twitter Python очень полезно для анализа. Например, хотя веб-разработчики могут предпочесть использовать такие языки, как PHP, для подключения к API, Python может более гибко анализировать тенденции данных и статистику. Поэтому специалисты по данным и другие аналитики сочтут Python более подходящим для этой цели.

Мы начнем с некоторых основных шагов по подключению Python к Twitter API, а затем посмотрим, как передавать необходимые данные в потоковом режиме. Важно отметить, что хотя библиотека Twitter (и другие библиотеки Python, такие как Tweepy и Twython) могут использовать данные для выполнения большого количества различных задач, мы сосредоточимся на некоторых из более простых (и полезных) запросов в этой статье, чтобы решить следующие проблемы:

Используйте правильные учетные данные для подключения Python к Twitter API

Скачивание твитов, связанных с определенной учетной записью

Загрузите список всех следующих и следующих пользователей учетной записи

Публикуйте несколько твитов одновременно

Примеры пользовательского поиска по конкретным терминам в Twitter.

1. Подключите Python к Twitter API.

В этом руководстве iPython используется в качестве интерфейса Python для подключения к Twitter. Для подключения к API нам нужно получитьConsumer Key,Consumer SecretсAccess Token Secret。


После создания приложения вы будетеKeys and Access TokensНайдите соответствующие ключи и жетоны в разделе.



Сначала мы устанавливаем библиотеку python-twitter в терминал, как показано ниже:

После завершения мы импортируем библиотеку Twitter и вводим учетные данные, как показано ниже:

После ввода правильных учетных данных подключение к API завершено, и теперь мы можем управлять нашей учетной записью Twitter через платформу Python!

2. Загрузите хронологию пользователя.

Теперь, когда мы подключили Python к Twitter API, мы можем продолжать использовать различные функции Twitter удаленно. Например, если мы хотим загрузить временную шкалу твитов пользователя, мы используем следующий метод (и указываем экранное имя соответствующей учетной записи), а затем используем эту функцию для отображения результатов:

Как только мы ввели вышеуказанное, мы увидим соответствующую временную шкалу в интерфейсе Python:


3. Загрузите следующие и следующие контакты.

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



Обратите внимание, что мы также можем установить верхний предел для количества пользователей, которых мы хотим привлечь. Например, если мы хотим получить 100 подписчиков для какой-либо конкретной учетной записи, мы можем сделать это, добавив переменную в функцию total_count, как показано ниже:

4. Разместите несколько твитов.

Одна из уловок использования Twitter API - это возможность публиковать несколько твитов одновременно. Например, мы можем использовать эту команду для публикации следующих двух твитов одновременно (опять же, используйте эту функцию для подтверждения). Зайдя в соответствующую учетную запись Twitter, мы увидим, что оба твита были опубликованы:

5. Найдите твиты.

Функция getsearch (), включенная в библиотеку Twitter, является особенно мощным инструментом. Эта функция позволяет нам искать определенные термины в Twitter. Обратите внимание, что это относится ко всем пользователям, которые ввели определенный термин, а не только к учетным записям, для которых мы предоставляем учетные данные в Python.

Например, давайте поищем в Python термин «bigdata». Параметр, который мы устанавливаем, - это твиты, которые содержат термин с 21 ноября 2016 года, и мы решили ограничить количество твитов, которые транслируются, до 10:


Обратите внимание, что мы можем настроить функцию GetSearch () различными способами, в зависимости от того, как мы хотим извлекать данные. Например, если дата не указана, что займет больше времени, мы также можем выбрать сбор твитов, содержащих термин bigdata, до 21 ноября 2016 г., как показано ниже:

Стоит отметить, что эта функция загружает данные за 7 дней до даты, указанной в переменной until.

Кроме того, мы не ограничены поиском в GetSearch только по терминам. Например, предположим, что мы хотим искать твиты по географическому положению, особенно твиты, отправленные в пределах 1 мили от Таймс-сквер в Нью-Йорке с 18 ноября (обратите внимание, что расстояние может быть отформатировано в милях или километрах с использованием миль или километров соответственно) :

После запуска функции мы видим, что Python возвращает следующий твит (конечно, где лучше найти Дональда Трампа!): GetSearch ()


Как использовать эти данные?

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

Например, мы видели, как искать твиты с помощью GetSearch по местоположению. Поскольку машинное обучение очень популярно среди специалистов по данным, занимающихся анализом тенденций в социальных сетях, особой методикой, которая стала очень популярной в этой области, является сетевой анализ. Этот метод может фактически отображать разрозненные данные (или узлы), чтобы сформировать плотную сеть, обычно некоторые узлы оказываются в фокусе. Например, предположим, что мы хотим проанализировать 1000 самых популярных твитов из десяти разных мест по всему миру.

В случайный день, хотя мы наблюдаем некоторую корреляцию между разными твитами в Интернете, мы все же можем обнаружить, что хэштеги в лондонских твитах сильно отличаются от хэштегов в нью-йоркских твитах. Однако во время крупных мировых событий, таких как ночь выборов в США или Брексит, когда Twitter выявляет тенденции по этой конкретной теме, он обнаруживает, что сети имеют тенденцию быть ближе друг к другу. Поэтому в этом случае появляется больше возможностей для анализа настроений. В одном сценарии, например, очевидно, кто победит на посту президента, или Великобритания проголосовала за выход из Европейского Союза. Люди обычно видят, что сеть собирается по-разному, в зависимости от популярных твитов, потому что можно получить больше информации в реальном времени.

Это лишь одно из преимуществ Python. Хотя одно дело подключаться к Twitter с помощью API (что можно сделать на многих языках программирования), другое дело - иметь возможность использовать аналитику для значимой сортировки данных. Вы можете использовать Python, чтобы использовать технологию машинного обучения для анализа потоковых данных из социальных сетей и делать значимые прогнозы на основе данных.

в заключение

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

Конечно, взаимодействие API с Twitter может осуществляться на нескольких языках, в зависимости от вашей конечной цели. Если целью является веб-разработка или дизайн, то лучшим выбором может быть PHP или Ruby. Однако, если ваша цель - использовать данные, полученные из Twitter, для значимого анализа, то Python - лучший выбор.

Читайте также: