1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2025-03-23 21:29:38 +02:00

Я починил этот конченный, богом забытый Twitter API

This commit is contained in:
Anton 2024-10-08 20:06:46 +03:00
parent ba62f9a5a8
commit ccc707c291
28 changed files with 4917 additions and 4914 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -215,7 +215,7 @@
КонецЕсли;
КонецЕсли;
Авторизация = СоздатьЗаголовокАвторизацииV2(Параметры_);
Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры_, Новый Структура, "POST", URL);
Ответ = OPI_Инструменты.Post(URL, Поля, Авторизация);
Возврат Ответ;
@ -247,7 +247,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Twitter
Функция СоздатьТвитКартинки(Знач Текст, Знач МассивКартинок, Знач Параметры = "") Экспорт
МассивМедиа = ЗагрузитьМассивВложений(МассивКартинок, "TWEET_IMAGE", Параметры);
МассивМедиа = ЗагрузитьМассивВложений(МассивКартинок, "tweet_image", Параметры);
Возврат СоздатьПроизвольныйТвит(Текст, МассивМедиа, , , Параметры);
КонецФункции
@ -264,7 +264,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Twitter
Функция СоздатьТвитГифки(Знач Текст, Знач МассивГифок, Знач Параметры = "") Экспорт
МассивМедиа = ЗагрузитьМассивВложений(МассивГифок, "TWEET_GIF", Параметры);
МассивМедиа = ЗагрузитьМассивВложений(МассивГифок, "tweet_gif", Параметры);
Возврат СоздатьПроизвольныйТвит(Текст, МассивМедиа, , , Параметры);
КонецФункции
@ -281,7 +281,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Twitter
Функция СоздатьТвитВидео(Знач Текст, Знач МассивВидео, Знач Параметры = "") Экспорт
МассивМедиа = ЗагрузитьМассивВложений(МассивВидео, "TWEET_VIDEO", Параметры);
МассивМедиа = ЗагрузитьМассивВложений(МассивВидео, "tweet_video", Параметры);
Возврат СоздатьПроизвольныйТвит(Текст, МассивМедиа, , , Параметры);
КонецФункции
@ -369,7 +369,7 @@
Единица = 1024;
Количество = 4;
MediaKey = "media_key";
MID = "media_id";
MIS = "media_id_string";
Command = "command";
Размер = Файл.Размер();
@ -377,18 +377,19 @@
РазмерЧасти = Количество * Единица * Единица;
МассивЧтения = РазделитьДвоичныеДанные(Файл, РазмерЧасти);
Поля = Новый Структура;
Поля.Вставить(Command , "INIT");
Поля.Вставить("total_bytes" , OPI_Инструменты.ЧислоВСтроку(Размер));
Поля.Вставить("media_category" , Тип);
Поля.Вставить(Command , "INIT");
Поля.Вставить("total_bytes" , OPI_Инструменты.ЧислоВСтроку(Размер));
Поля.Вставить("media_category", Тип);
Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры, Поля, ВидЗапроса, URL);
ОтветИнициализации = OPI_Инструменты.Post(URL, Поля, Авторизация, Ложь);
KeyИнициализации = ОтветИнициализации[MediaKey];
IDИнициализации = ОтветИнициализации[MIS];
IDИнициализации = ОтветИнициализации[MID];
IDSИнициализации = ОтветИнициализации[MIS];
Если Не ЗначениеЗаполнено(KeyИнициализации) Или Не ЗначениеЗаполнено(IDИнициализации) Тогда
Если Не ЗначениеЗаполнено(IDSИнициализации) Или Не ЗначениеЗаполнено(IDИнициализации) Тогда
Возврат ОтветИнициализации;
КонецЕсли;
@ -398,7 +399,7 @@
Поля = Новый Структура;
Поля.Вставить(Command , "APPEND");
Поля.Вставить("media_key" , KeyИнициализации);
Поля.Вставить("media_id" , IDSИнициализации);
Поля.Вставить("segment_index" , OPI_Инструменты.ЧислоВСтроку(Счетчик));
Поля.Вставить("media" , Часть);
@ -412,7 +413,7 @@
Поля = Новый Структура;
Поля.Вставить(Command , "FINALIZE");
Поля.Вставить("media_id", IDИнициализации);
Поля.Вставить("media_id", IDSИнициализации);
СтатусОбработки = ПолучитьСтатусОбработки(Параметры, Поля, URL);
@ -420,7 +421,7 @@
Возврат СтатусОбработки;
КонецЕсли;
Ответ = ОжидатьЗавершенияОбработки(СтатусОбработки, IDИнициализации, URL, Параметры);
Ответ = ОжидатьЗавершенияОбработки(СтатусОбработки, IDSИнициализации, URL, Параметры);
Возврат Ответ;
@ -636,7 +637,7 @@
+ "oauth_signature=" + Сигнатура;
СоответствиеЗаголовка = Новый Соответствие;
СоответствиеЗаголовка.Вставить("authorization", ЗаголовокАвторизации);
СоответствиеЗаголовка.Вставить("Authorization", ЗаголовокАвторизации);
Возврат СоответствиеЗаголовка;

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Airtable.os
// OneScript: ./OInt/core/Modules/OPI_Airtable.os
// Lib: Airtable
// CLI: airtable

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// OneScript: ./OInt/core/Modules/OPI_Bitrix24.os
// Lib: Bitrix24
// CLI: bitrix24

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Dropbox.os
// OneScript: ./OInt/core/Modules/OPI_Dropbox.os
// Lib: Dropbox
// CLI: dropbox

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_GoogleCalendar.os
// OneScript: ./OInt/core/Modules/OPI_GoogleCalendar.os
// Lib: Google Calendar
// CLI: gcalendar

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_GoogleDrive.os
// OneScript: ./OInt/core/Modules/OPI_GoogleDrive.os
// Lib: Google Drive
// CLI: gdrive

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_GoogleSheets.os
// OneScript: ./OInt/core/Modules/OPI_GoogleSheets.os
// Lib: Google Sheets
// CLI: gsheets

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_GoogleWorkspace.os
// OneScript: ./OInt/core/Modules/OPI_GoogleWorkspace.os
// Lib: Google Workspace
// CLI: google

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Neocities.os
// OneScript: ./OInt/core/Modules/OPI_Neocities.os
// Lib: Neocities
// CLI: neocities

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Notion.os
// OneScript: ./OInt/core/Modules/OPI_Notion.os
// Lib: Notion
// CLI: notion

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Ozon.os
// OneScript: ./OInt/core/Modules/OPI_Ozon.os
// Lib: Ozon
// CLI: ozon

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Slack.os
// OneScript: ./OInt/core/Modules/OPI_Slack.os
// Lib: Slack
// CLI: slack

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Telegram.os
// OneScript: ./OInt/core/Modules/OPI_Telegram.os
// Lib: Telegram
// CLI: telegram

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Twitter.os
// OneScript: ./OInt/core/Modules/OPI_Twitter.os
// Lib: Twitter
// CLI: twitter
@ -215,7 +215,7 @@
КонецЕсли;
КонецЕсли;
Авторизация = СоздатьЗаголовокАвторизацииV2(Параметры_);
Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры_, Новый Структура, "POST", URL);
Ответ = OPI_Инструменты.Post(URL, Поля, Авторизация);
Возврат Ответ;
@ -247,7 +247,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Twitter
Функция СоздатьТвитКартинки(Знач Текст, Знач МассивКартинок, Знач Параметры = "") Экспорт
МассивМедиа = ЗагрузитьМассивВложений(МассивКартинок, "TWEET_IMAGE", Параметры);
МассивМедиа = ЗагрузитьМассивВложений(МассивКартинок, "tweet_image", Параметры);
Возврат СоздатьПроизвольныйТвит(Текст, МассивМедиа, , , Параметры);
КонецФункции
@ -264,7 +264,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Twitter
Функция СоздатьТвитГифки(Знач Текст, Знач МассивГифок, Знач Параметры = "") Экспорт
МассивМедиа = ЗагрузитьМассивВложений(МассивГифок, "TWEET_GIF", Параметры);
МассивМедиа = ЗагрузитьМассивВложений(МассивГифок, "tweet_gif", Параметры);
Возврат СоздатьПроизвольныйТвит(Текст, МассивМедиа, , , Параметры);
КонецФункции
@ -281,7 +281,7 @@
// Соответствие Из КлючИЗначение - сериализованный JSON ответа от Twitter
Функция СоздатьТвитВидео(Знач Текст, Знач МассивВидео, Знач Параметры = "") Экспорт
МассивМедиа = ЗагрузитьМассивВложений(МассивВидео, "TWEET_VIDEO", Параметры);
МассивМедиа = ЗагрузитьМассивВложений(МассивВидео, "tweet_video", Параметры);
Возврат СоздатьПроизвольныйТвит(Текст, МассивМедиа, , , Параметры);
КонецФункции
@ -369,7 +369,7 @@
Единица = 1024;
Количество = 4;
MediaKey = "media_key";
MID = "media_id";
MIS = "media_id_string";
Command = "command";
Размер = Файл.Размер();
@ -377,18 +377,19 @@
РазмерЧасти = Количество * Единица * Единица;
МассивЧтения = РазделитьДвоичныеДанные(Файл, РазмерЧасти);
Поля = Новый Структура;
Поля.Вставить(Command , "INIT");
Поля.Вставить("total_bytes" , OPI_Инструменты.ЧислоВСтроку(Размер));
Поля.Вставить("media_category" , Тип);
Поля.Вставить(Command , "INIT");
Поля.Вставить("total_bytes" , OPI_Инструменты.ЧислоВСтроку(Размер));
Поля.Вставить("media_category", Тип);
Авторизация = СоздатьЗаголовокАвторизацииV1(Параметры, Поля, ВидЗапроса, URL);
ОтветИнициализации = OPI_Инструменты.Post(URL, Поля, Авторизация, Ложь);
KeyИнициализации = ОтветИнициализации[MediaKey];
IDИнициализации = ОтветИнициализации[MIS];
IDИнициализации = ОтветИнициализации[MID];
IDSИнициализации = ОтветИнициализации[MIS];
Если Не ЗначениеЗаполнено(KeyИнициализации) Или Не ЗначениеЗаполнено(IDИнициализации) Тогда
Если Не ЗначениеЗаполнено(IDSИнициализации) Или Не ЗначениеЗаполнено(IDИнициализации) Тогда
Возврат ОтветИнициализации;
КонецЕсли;
@ -398,7 +399,7 @@
Поля = Новый Структура;
Поля.Вставить(Command , "APPEND");
Поля.Вставить("media_key" , KeyИнициализации);
Поля.Вставить("media_id" , IDSИнициализации);
Поля.Вставить("segment_index" , OPI_Инструменты.ЧислоВСтроку(Счетчик));
Поля.Вставить("media" , Часть);
@ -412,7 +413,7 @@
Поля = Новый Структура;
Поля.Вставить(Command , "FINALIZE");
Поля.Вставить("media_id", IDИнициализации);
Поля.Вставить("media_id", IDSИнициализации);
СтатусОбработки = ПолучитьСтатусОбработки(Параметры, Поля, URL);
@ -420,7 +421,7 @@
Возврат СтатусОбработки;
КонецЕсли;
Ответ = ОжидатьЗавершенияОбработки(СтатусОбработки, IDИнициализации, URL, Параметры);
Ответ = ОжидатьЗавершенияОбработки(СтатусОбработки, IDSИнициализации, URL, Параметры);
Возврат Ответ;
@ -636,7 +637,7 @@
+ "oauth_signature=" + Сигнатура;
СоответствиеЗаголовка = Новый Соответствие;
СоответствиеЗаголовка.Вставить("authorization", ЗаголовокАвторизации);
СоответствиеЗаголовка.Вставить("Authorization", ЗаголовокАвторизации);
Возврат СоответствиеЗаголовка;

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_VK.os
// OneScript: ./OInt/core/Modules/OPI_VK.os
// Lib: VK
// CLI: vk

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_VKTeams.os
// OneScript: ./OInt/core/Modules/OPI_VKTeams.os
// Lib: VKTeams
// CLI: vkteams

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_Viber.os
// OneScript: ./OInt/core/Modules/OPI_Viber.os
// Lib: Viber
// CLI: viber

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_YandexDisk.os
// OneScript: ./OInt/core/Modules/OPI_YandexDisk.os
// Lib: Yandex Disk
// CLI: yadisk

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/core/Modules/OPI_YandexID.os
// OneScript: ./OInt/core/Modules/OPI_YandexID.os
// Lib: Yandex ID
// CLI: yandex

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Инструменты.os
// MIT License

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Криптография.os
// OneScript: ./OInt/tools/Modules/internal/Modules/OPI_Криптография.os
// MIT License

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
// OneScript: ./OInt/tools/Modules/OPI_ПолучениеДанныхТестов.os
// MIT License

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tools/Modules/OPI_ПреобразованиеТипов.os
// OneScript: ./OInt/tools/Modules/OPI_ПреобразованиеТипов.os
// MIT License

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// OneScript: ./OInt/tests/Modules/internal/OPI_Тесты.os
// MIT License

View File

@ -1,4 +1,4 @@
// OneScript: ./OInt/tests/Modules/internal/OPI_ТестыCLI.os
// OneScript: ./OInt/tests/Modules/internal/OPI_ТестыCLI.os
// MIT License