Перейти к основному содержимому

Twitter | X

Этот раздел посвящен библиотеке для работы с Twitter API в 1С:Предприятие, OneScript и CLI. На данной странице описаны все действия, необходимые для полноценного начала работы. Данная библиотека позволяет работать с функционалом бесплатного плана, т.е. создавать твиты.

Начало работы

Работа с Twitter подразумевает работу с двумя API - v1 (1.1) и v2, каждый из которых отвечает за свою часть функционала. Для начала работы с ними, необходимо сформировать определенный набор данных и параметров авторизации. Его структура описанна в функции ПолучитьСтандартныеПараметры


Параметры_.Вставить("redirect_uri" , "");
Параметры_.Вставить("scope" , "");
Параметры_.Вставить("client_id" , "");
Параметры_.Вставить("client_secret" , "");
Параметры_.Вставить("access_token" , "");
Параметры_.Вставить("refresh_token" , "");
Параметры_.Вставить("oauth_token" , "");
Параметры_.Вставить("oauth_token_secret" , "");
Параметры_.Вставить("oauth_consumer_key" , "");
Параметры_.Вставить("oauth_consumer_secret", "");

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

Создание приложения

Для работы с Twitter API необходимо перейти по адресу developer.twitter.com, зарегистрироваться и пройти процедуру создания нового приложения. После этого, в панели управления приложением, нужно определить поля, требуемые для создания структуры авторизации:

  • redirect_uri

    redirect_uri - адрес обработчика http-запросов, указанный при регистрации. Авторизация API v2 требует подтверждения входа через браузер, после которого запрос со специальным кодом на данный обработчик должен будет прийти. Подробнее в пункте access_token и refresh_token.

  • scope

    scope определяет доступные для работы функции. В ПолучитьСтандартныеПараметры() список scope определен по умолчанию.

  • client_id

    ID клиента может быть найден на главной странице настроек в разделе OAuth 2.0 Clien ID and Client Secret

  • client_secret

    Секрет клиента может быть сгенерирован при помощи кнопки Generate в том же разделе, что и ID клиента

  • oauth_token и oauth_token_secret

    Могут быть сгененрированы в разделе Authentication Tokens, пунтк Access Token and Secret

  • oauth_consumer_key и oauth_consumer_secret

    Могут быть сгенерированы в разделе Consumer Keys, пунт API Key and Secret

  • access_token и refresh_token

Эти токены необходимо получить http запросом с указанием кода, который приходит при авторизации на http-сервис redirect_uri.Порядок действий:

  1. Создать ссылку для авторизации в браузере при помощи функции ПолучитьСсылкуАвторизации
  2. Добавить в модуль http-сервиса (GET) вызов функции ОбработкаВходящегоЗапросаПослеАвторизации, передавая HTTPСервисЗапрос как параметр.
  3. Авторизоваться в браузере по ссылке из п.1.
  4. Сохранить access_token и refresh_token, полученные из функции ОбработкаВходящегоЗапросаПослеАвторизации п. 2, в константы или другое хранилище
Получение

Функция Twitterget(Запрос)

Код = Запрос.ПараметрыЗапроса["code"];
ОтветТокен = OPI_Twitter.ПолучитьТокен(Код, Параметры);

Константы.TwitterRefresh.Установить(ОтветТокен["refresh_token"]);
Константы.TwitterToken.Установить(ОтветТокен["access_token"]);

Ответ = Новый HTTPСервисОтвет(200);
Возврат Ответ;

КонецФункции

Обновление

Процедура ОбновлятьТокенКаждыеДваЧаса(Знач Параметры)

Ответ = OPI_Twitter.ОбновитьТокен(Параметры);
Константы.TwitterToken.Установить(Ответ["access_token"]);
Константы.TwitterRefresh.Установить(Ответ["refresh_token"]);

КонецПроцедуры

Access_token действует 2 часа. По истечении этого времени, токен необходимо обновить при помощи функции ОбновитьТокен. При этом обновляется как access_token, так и refresh_token. Т.е. при следующем обновлении сгоревшего access_token, refresh_token должен быть из предыдущего запроса

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