You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2025-08-13 20:05:19 +02:00
Фиксы Google Calendar и начало Google Drive
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
// Copyright (c) 2023 Anton Tsitavets
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
||||||
Функция СоздатьКалендарь(Знач Токен, Знач Наименование) Экспорт
|
Функция СоздатьКалендарь(Знач Токен, Знач Наименование) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars";
|
URL = "https://www.googleapis.com/calendar/v3/calendars";
|
||||||
|
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
||||||
Функция ПолучитьМетаданныеКалендаря(Знач Токен, Знач Календарь) Экспорт
|
Функция ПолучитьМетаданныеКалендаря(Знач Токен, Знач Календарь) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/" + Календарь;
|
URL = "https://www.googleapis.com/calendar/v3/calendars/" + Календарь;
|
||||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@
|
|||||||
, Знач Наименование = ""
|
, Знач Наименование = ""
|
||||||
, Знач Описание = "") Экспорт
|
, Знач Описание = "") Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/" + Календарь;
|
URL = "https://www.googleapis.com/calendar/v3/calendars/" + Календарь;
|
||||||
|
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
||||||
Функция ОчиститьОсновнойКалендарь(Знач Токен) Экспорт
|
Функция ОчиститьОсновнойКалендарь(Знач Токен) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/primary/clear";
|
URL = "https://www.googleapis.com/calendar/v3/calendars/primary/clear";
|
||||||
Ответ = OPI_Инструменты.Post(URL, , Заголовки, Ложь);
|
Ответ = OPI_Инструменты.Post(URL, , Заголовки, Ложь);
|
||||||
|
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
||||||
Функция УдалитьКалендарь(Знач Токен, Знач Календарь) Экспорт
|
Функция УдалитьКалендарь(Знач Токен, Знач Календарь) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/" + Календарь;
|
URL = "https://www.googleapis.com/calendar/v3/calendars/" + Календарь;
|
||||||
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
|
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@
|
|||||||
// Соответствие Из КлючИЗначение - Массив соответствий данных календарей
|
// Соответствие Из КлючИЗначение - Массив соответствий данных календарей
|
||||||
Функция ПолучитьСписокКалендарей(Знач Токен) Экспорт
|
Функция ПолучитьСписокКалендарей(Знач Токен) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
МассивКалендарей = Новый Массив;
|
МассивКалендарей = Новый Массив;
|
||||||
|
|
||||||
ПолучитьСписокКалендарейРекурсивно(Заголовки, МассивКалендарей);
|
ПолучитьСписокКалендарейРекурсивно(Заголовки, МассивКалендарей);
|
||||||
@@ -171,7 +171,7 @@
|
|||||||
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
// Строка, Произвольный, ДвоичныеДанные, Неопределено, HTTPОтвет - ответ сервера Google
|
||||||
Функция ДобавитьКалендарьВСписок(Знач Токен, Знач Календарь) Экспорт
|
Функция ДобавитьКалендарьВСписок(Знач Токен, Знач Календарь) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList";
|
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList";
|
||||||
|
|
||||||
Параметры = Новый Структура;
|
Параметры = Новый Структура;
|
||||||
@@ -193,7 +193,7 @@
|
|||||||
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
||||||
Функция ПолучитьКалендарьСписка(Знач Токен, Знач Календарь) Экспорт
|
Функция ПолучитьКалендарьСписка(Знач Токен, Знач Календарь) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList/" + Календарь;
|
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList/" + Календарь;
|
||||||
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||||
|
|
||||||
@@ -211,7 +211,7 @@
|
|||||||
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
||||||
Функция УдалитьКалендарьИзСписка(Знач Токен, Знач Календарь) Экспорт
|
Функция УдалитьКалендарьИзСписка(Знач Токен, Знач Календарь) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList/" + Календарь;
|
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList/" + Календарь;
|
||||||
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
|
Ответ = OPI_Инструменты.Delete(URL, , Заголовки);
|
||||||
|
|
||||||
@@ -236,7 +236,7 @@
|
|||||||
, Знач ДополнительныйЦвет
|
, Знач ДополнительныйЦвет
|
||||||
, Знач Скрытый = Ложь) Экспорт
|
, Знач Скрытый = Ложь) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList/" + Календарь + "?colorRgbFormat=true";
|
URL = "https://www.googleapis.com/calendar/v3/users/me/calendarList/" + Календарь + "?colorRgbFormat=true";
|
||||||
|
|
||||||
Параметры = Новый Соответствие;
|
Параметры = Новый Соответствие;
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
// Соответствие Из КлючИЗначение - Массив соответствий событий
|
// Соответствие Из КлючИЗначение - Массив соответствий событий
|
||||||
Функция ПолучитьСписокСобытий(Знач Токен, Знач Календарь) Экспорт
|
Функция ПолучитьСписокСобытий(Знач Токен, Знач Календарь) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
МассивСобытий = Новый Массив;
|
МассивСобытий = Новый Массив;
|
||||||
|
|
||||||
ПолучитьСписокСобытийРекурсивно(Заголовки, Календарь, МассивСобытий);
|
ПолучитьСписокСобытийРекурсивно(Заголовки, Календарь, МассивСобытий);
|
||||||
@@ -306,7 +306,7 @@
|
|||||||
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
||||||
Функция ПолучитьСобытие(Знач Токен, Знач Календарь, Знач Событие) Экспорт
|
Функция ПолучитьСобытие(Знач Токен, Знач Календарь, Знач Событие) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
||||||
+ Календарь
|
+ Календарь
|
||||||
+ "/events/"
|
+ "/events/"
|
||||||
@@ -343,7 +343,7 @@
|
|||||||
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
||||||
Функция ПереместитьСобытие(Знач Токен, Знач КалендарьИсточник, Знач КалендарьПриемник, Знач Событие) Экспорт
|
Функция ПереместитьСобытие(Знач Токен, Знач КалендарьИсточник, Знач КалендарьПриемник, Знач Событие) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
||||||
+ КалендарьИсточник
|
+ КалендарьИсточник
|
||||||
+ "/events/"
|
+ "/events/"
|
||||||
@@ -382,7 +382,7 @@
|
|||||||
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
// Строка, Произвольный, HTTPОтвет, ДвоичныеДанные, Неопределено - ответ сервера Google
|
||||||
Функция УдалитьСобытие(Знач Токен, Знач Календарь, Знач Событие) Экспорт
|
Функция УдалитьСобытие(Знач Токен, Знач Календарь, Знач Событие) Экспорт
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
||||||
+ Календарь
|
+ Календарь
|
||||||
+ "/events/"
|
+ "/events/"
|
||||||
@@ -400,15 +400,6 @@
|
|||||||
|
|
||||||
#Область СлужебныеПроцедурыИФункции
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
Функция ПолучитьЗаголовокАвторизации(Знач Токен)
|
|
||||||
|
|
||||||
Заголовки = Новый Соответствие;
|
|
||||||
Заголовки.Вставить("Authorization", "Bearer " + Токен);
|
|
||||||
|
|
||||||
Возврат Заголовки;
|
|
||||||
|
|
||||||
КонецФункции
|
|
||||||
|
|
||||||
Функция ПреобразоватьДату(Знач Дата)
|
Функция ПреобразоватьДату(Знач Дата)
|
||||||
|
|
||||||
СтруктураДаты = Новый Структура;
|
СтруктураДаты = Новый Структура;
|
||||||
@@ -461,7 +452,7 @@
|
|||||||
|
|
||||||
Функция УправлениеСобытием(Знач Токен, Знач Календарь, Знач ОписаниеСобытия, Знач Событие = "")
|
Функция УправлениеСобытием(Знач Токен, Знач Календарь, Знач ОписаниеСобытия, Знач Событие = "")
|
||||||
|
|
||||||
Заголовки = ПолучитьЗаголовокАвторизации(Токен);
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
Существующее = ЗначениеЗаполнено(Событие);
|
Существующее = ЗначениеЗаполнено(Событие);
|
||||||
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
URL = "https://www.googleapis.com/calendar/v3/calendars/"
|
||||||
+ Календарь
|
+ Календарь
|
||||||
@@ -513,7 +504,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Результат = OPI_Инструменты.Get("https://www.googleapis.com/calendar/v3/users/me/calendarList"
|
Результат = OPI_Инструменты.Get("https://www.googleapis.com/calendar/v3/users/me/calendarList"
|
||||||
,
|
, Параметры
|
||||||
, Заголовки);
|
, Заголовки);
|
||||||
|
|
||||||
Календари = Результат[Items];
|
Календари = Результат[Items];
|
||||||
@@ -540,7 +531,7 @@
|
|||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Результат = OPI_Инструменты.Get("https://www.googleapis.com/calendar/v3/calendars/" + Календарь + "/events"
|
Результат = OPI_Инструменты.Get("https://www.googleapis.com/calendar/v3/calendars/" + Календарь + "/events"
|
||||||
,
|
, Параметры
|
||||||
, Заголовки);
|
, Заголовки);
|
||||||
|
|
||||||
События = Результат[Items];
|
События = Результат[Items];
|
||||||
|
142
OPI/src/CommonModules/OPI_GoogleDrive/Module.bsl
Normal file
142
OPI/src/CommonModules/OPI_GoogleDrive/Module.bsl
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
// MIT License
|
||||||
|
|
||||||
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to deal
|
||||||
|
// in the Software without restriction, including without limitation the rights
|
||||||
|
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
// copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
// The above copyright notice and this permission notice shall be included in all
|
||||||
|
// copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
// SOFTWARE.
|
||||||
|
|
||||||
|
// https://github.com/Bayselonarrend/OpenIntegrations
|
||||||
|
|
||||||
|
// Раскомментировать, если выполняется OneScript
|
||||||
|
// #Использовать "../../tools"
|
||||||
|
|
||||||
|
#Область ПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
#Область РаботаСФайлами
|
||||||
|
|
||||||
|
Функция ПолучитьСписокКаталогов(Знач Токен, Знач ИмяСодержит = "", Знач Подробно = Ложь) Экспорт
|
||||||
|
|
||||||
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
|
МассивОбъектов = Новый Массив;
|
||||||
|
Отбор = Новый Массив;
|
||||||
|
|
||||||
|
Отбор.Добавить("mimeType = 'application/vnd.google-apps.folder'");
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ИмяСодержит) Тогда
|
||||||
|
Отбор.Добавить("name contains '" + ИмяСодержит + "'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПолучитьСписокОбъектовРекурсивно(Заголовки, МассивОбъектов, Подробно, Отбор);
|
||||||
|
|
||||||
|
Если Подробно Тогда
|
||||||
|
РазложитьОбъектыПодробно(Токен, МассивОбъектов);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Возврат МассивОбъектов;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПолучитьСписокФайлов(Знач Токен, Знач ИмяСодержит = "", Знач Каталог = "") Экспорт
|
||||||
|
|
||||||
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
|
МассивОбъектов = Новый Массив;
|
||||||
|
Отбор = Новый Массив;
|
||||||
|
|
||||||
|
Отбор.Добавить("mimeType != 'application/vnd.google-apps.folder'");
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ИмяСодержит) Тогда
|
||||||
|
Отбор.Добавить("name contains '" + ИмяСодержит + "'");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Каталог) Тогда
|
||||||
|
Отбор.Добавить("'" + Каталог + "' in parents");
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
ПолучитьСписокОбъектовРекурсивно(Заголовки, МассивОбъектов, , Отбор);
|
||||||
|
|
||||||
|
Возврат МассивОбъектов;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
Функция ПолучитьИнформациюОбОбъекте(Знач Токен, Знач Идентификатор) Экспорт
|
||||||
|
|
||||||
|
Заголовки = OPI_GoogleWorkspace.ПолучитьЗаголовокАвторизации(Токен);
|
||||||
|
URL = "https://www.googleapis.com/drive/v3/files/" + Идентификатор;
|
||||||
|
Ответ = OPI_Инструменты.Get(URL, , Заголовки);
|
||||||
|
|
||||||
|
Возврат Ответ;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныеПроцедурыИФункции
|
||||||
|
|
||||||
|
Процедура ПолучитьСписокОбъектовРекурсивно(Знач Заголовки, МассивОбъектов, Подробно = Ложь, Отбор = "", Страница = "")
|
||||||
|
|
||||||
|
URL = "https://www.googleapis.com/drive/v3/files";
|
||||||
|
Files = "files";
|
||||||
|
NPT = "nextPageToken";
|
||||||
|
Параметры = Новый Структура;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Страница) Тогда
|
||||||
|
Параметры.Вставить("pageToken", Страница);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(Отбор) И ТипЗнч(Отбор) = Тип("Массив") Тогда
|
||||||
|
ОтборСтрока = СтрСоединить(Отбор, " and ");
|
||||||
|
Параметры.Вставить("q", ОтборСтрока);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
Результат = OPI_Инструменты.Get(URL, Параметры, Заголовки);
|
||||||
|
|
||||||
|
Объекты = Результат[Files];
|
||||||
|
Страница = Результат[NPT];
|
||||||
|
|
||||||
|
Для Каждого ТекущийОбъект Из Объекты Цикл
|
||||||
|
МассивОбъектов.Добавить(ТекущийОбъект);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
Если Объекты.Количество() > 0 И ЗначениеЗаполнено(Страница) Тогда
|
||||||
|
ПолучитьСписокОбъектовРекурсивно(Заголовки, МассивОбъектов, Подробно, Отбор, Страница);
|
||||||
|
КонецЕсли;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Процедура РазложитьОбъектыПодробно(Знач Токен, МассивОбъектов)
|
||||||
|
|
||||||
|
Для Каждого ТекущийОбъект Из МассивОбъектов Цикл
|
||||||
|
|
||||||
|
МассивФайлов = Новый Массив;
|
||||||
|
ТекущийИД = ТекущийОбъект["id"];
|
||||||
|
|
||||||
|
Результат = ПолучитьСписокФайлов(Токен, , ТекущийИД);
|
||||||
|
|
||||||
|
Для Каждого Файл Из Результат Цикл
|
||||||
|
МассивФайлов.Добавить(Файл);
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
ТекущийОбъект.Вставить("files", МассивФайлов);
|
||||||
|
|
||||||
|
КонецЦикла;
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<mdclass:CommonModule xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="3bf39c90-a263-4300-b800-7fd85f7c6d40">
|
||||||
|
<name>OPI_GoogleDrive</name>
|
||||||
|
<synonym>
|
||||||
|
<key></key>
|
||||||
|
<value>OPI google drive</value>
|
||||||
|
</synonym>
|
||||||
|
<server>true</server>
|
||||||
|
</mdclass:CommonModule>
|
@@ -1,4 +1,4 @@
|
|||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
// Copyright (c) 2023 Anton Tsitavets
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
@@ -104,12 +104,26 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область СлужебныйПрограммныйИнтерфейс
|
||||||
|
|
||||||
|
Функция ПолучитьЗаголовокАвторизации(Знач Токен) Экспорт
|
||||||
|
|
||||||
|
Заголовки = Новый Соответствие;
|
||||||
|
Заголовки.Вставить("Authorization", "Bearer " + Токен);
|
||||||
|
|
||||||
|
Возврат Заголовки;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#Область СлужебныеПроцедурыИфункции
|
#Область СлужебныеПроцедурыИфункции
|
||||||
|
|
||||||
Функция ПолучитьСписокРазрешений()
|
Функция ПолучитьСписокРазрешений()
|
||||||
|
|
||||||
МассивРазрешений = Новый Массив;
|
МассивРазрешений = Новый Массив;
|
||||||
МассивРазрешений.Добавить("https://www.googleapis.com/auth/calendar");
|
МассивРазрешений.Добавить("https://www.googleapis.com/auth/calendar");
|
||||||
|
МассивРазрешений.Добавить("https://www.googleapis.com/auth/drive");
|
||||||
|
|
||||||
Возврат СтрСоединить(МассивРазрешений, " ");
|
Возврат СтрСоединить(МассивРазрешений, " ");
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
// Copyright (c) 2023 Anton Tsitavets
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
@@ -167,6 +167,8 @@
|
|||||||
МассивРазделов.Добавить("Google Calendar");
|
МассивРазделов.Добавить("Google Calendar");
|
||||||
МассивРазделов.Добавить("Twitter");
|
МассивРазделов.Добавить("Twitter");
|
||||||
МассивРазделов.Добавить("Viber");
|
МассивРазделов.Добавить("Viber");
|
||||||
|
МассивРазделов.Добавить("Google Drive");
|
||||||
|
МассивРазделов.Добавить("Google Workspace");
|
||||||
|
|
||||||
Возврат МассивРазделов;
|
Возврат МассивРазделов;
|
||||||
|
|
||||||
@@ -180,6 +182,8 @@
|
|||||||
Календарь = "Google Calendar";
|
Календарь = "Google Calendar";
|
||||||
Твиттер = "Twitter";
|
Твиттер = "Twitter";
|
||||||
Вайбер = "Viber";
|
Вайбер = "Viber";
|
||||||
|
Драйв = "Google Drive";
|
||||||
|
ВСпейс = "Google Workspace";
|
||||||
|
|
||||||
ТаблицаТестов = Новый ТаблицаЗначений;
|
ТаблицаТестов = Новый ТаблицаЗначений;
|
||||||
ТаблицаТестов.Колонки.Добавить("Метод");
|
ТаблицаТестов.Колонки.Добавить("Метод");
|
||||||
@@ -241,14 +245,17 @@
|
|||||||
НовыйТест(ТаблицаТестов, "ЯДиск_ДействияПубличныхОбъектов" , "Действия с публичными объектами", ЯДиск);
|
НовыйТест(ТаблицаТестов, "ЯДиск_ДействияПубличныхОбъектов" , "Действия с публичными объектами", ЯДиск);
|
||||||
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокОпубликованных" , "Получить список опубликованных" , ЯДиск);
|
НовыйТест(ТаблицаТестов, "ЯДиск_ПолучитьСписокОпубликованных" , "Получить список опубликованных" , ЯДиск);
|
||||||
|
|
||||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , Календарь);
|
НовыйТест(ТаблицаТестов, "ГВ_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , ВСпейс);
|
||||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьТокен" , "Получить токен" , Календарь);
|
НовыйТест(ТаблицаТестов, "ГВ_ПолучитьТокен" , "Получить токен" , ВСпейс);
|
||||||
НовыйТест(ТаблицаТестов, "ГК_ОбновитьТокен" , "Обновить токен" , Календарь);
|
НовыйТест(ТаблицаТестов, "ГВ_ОбновитьТокен" , "Обновить токен" , ВСпейс);
|
||||||
|
|
||||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокКалендарей" , "Получить список календарей" , Календарь);
|
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокКалендарей" , "Получить список календарей" , Календарь);
|
||||||
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьКалендарь" , "Создать/Удалить календарь" , Календарь);
|
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьКалендарь" , "Создать/Удалить календарь" , Календарь);
|
||||||
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьСобытие" , "Создать/Удалить событие" , Календарь);
|
НовыйТест(ТаблицаТестов, "ГК_СоздатьУдалитьСобытие" , "Создать/Удалить событие" , Календарь);
|
||||||
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокСобытий" , "Получить список событий" , Календарь);
|
НовыйТест(ТаблицаТестов, "ГК_ПолучитьСписокСобытий" , "Получить список событий" , Календарь);
|
||||||
|
|
||||||
|
НовыйТест(ТаблицаТестов, "ГД_ПолучитьСписокКаталогов" , "Получить список каталогов" , Драйв);
|
||||||
|
|
||||||
НовыйТест(ТаблицаТестов, "Твиттер_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , Твиттер);
|
НовыйТест(ТаблицаТестов, "Твиттер_ПолучитьСсылкуАвторизации" , "Получить ссылку авторизации" , Твиттер);
|
||||||
НовыйТест(ТаблицаТестов, "Твиттер_ОбновитьТокен" , "Обновить токен" , Твиттер);
|
НовыйТест(ТаблицаТестов, "Твиттер_ОбновитьТокен" , "Обновить токен" , Твиттер);
|
||||||
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТекстовыйТвит" , "Текстовый твит" , Твиттер);
|
НовыйТест(ТаблицаТестов, "Твиттер_СоздатьТекстовыйТвит" , "Текстовый твит" , Твиттер);
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// MIT License
|
// MIT License
|
||||||
|
|
||||||
// Copyright (c) 2023 Anton Tsitavets
|
// Copyright (c) 2023 Anton Tsitavets
|
||||||
|
|
||||||
@@ -1535,9 +1535,9 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
#Область GoogleCalendar
|
#Область GoogleWorkspace
|
||||||
|
|
||||||
Процедура ГК_ПолучитьСсылкуАвторизации() Экспорт
|
Процедура ГВ_ПолучитьСсылкуАвторизации() Экспорт
|
||||||
|
|
||||||
ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
|
ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
|
||||||
Результат = OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID);
|
Результат = OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID);
|
||||||
@@ -1552,7 +1552,7 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ГК_ПолучитьТокен() Экспорт
|
Процедура ГВ_ПолучитьТокен() Экспорт
|
||||||
|
|
||||||
ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
|
ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
|
||||||
ClientSecret = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret");
|
ClientSecret = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret");
|
||||||
@@ -1572,7 +1572,7 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
Процедура ГК_ОбновитьТокен() Экспорт
|
Процедура ГВ_ОбновитьТокен() Экспорт
|
||||||
|
|
||||||
ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
|
ClientID = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientID");
|
||||||
ClientSecret = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret");
|
ClientSecret = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_ClientSecret");
|
||||||
@@ -1589,6 +1589,10 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область GoogleCalendar
|
||||||
|
|
||||||
Процедура ГК_ПолучитьСписокКалендарей() Экспорт
|
Процедура ГК_ПолучитьСписокКалендарей() Экспорт
|
||||||
|
|
||||||
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
|
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
|
||||||
@@ -1732,6 +1736,17 @@
|
|||||||
|
|
||||||
#КонецОбласти
|
#КонецОбласти
|
||||||
|
|
||||||
|
#Область GoogleDrive
|
||||||
|
|
||||||
|
Процедура ГД_ПолучитьСписокКаталогов() Экспорт
|
||||||
|
|
||||||
|
Токен = OPI_ПолучениеДанныхТестов.ПолучитьПараметр("Google_Token");
|
||||||
|
Результат = OPI_GoogleDrive.ПолучитьСписокКаталогов(Токен, "ОПИ", Истина);
|
||||||
|
|
||||||
|
КонецПроцедуры
|
||||||
|
|
||||||
|
#КонецОбласти
|
||||||
|
|
||||||
#Область Twitter
|
#Область Twitter
|
||||||
|
|
||||||
Процедура Твиттер_ПолучитьСсылкуАвторизации() Экспорт
|
Процедура Твиттер_ПолучитьСсылкуАвторизации() Экспорт
|
||||||
|
@@ -58,6 +58,7 @@
|
|||||||
<commonModules>CommonModule.OPI_YandexDisk</commonModules>
|
<commonModules>CommonModule.OPI_YandexDisk</commonModules>
|
||||||
<commonModules>CommonModule.OPI_GoogleWorkspace</commonModules>
|
<commonModules>CommonModule.OPI_GoogleWorkspace</commonModules>
|
||||||
<commonModules>CommonModule.OPI_GoogleCalendar</commonModules>
|
<commonModules>CommonModule.OPI_GoogleCalendar</commonModules>
|
||||||
|
<commonModules>CommonModule.OPI_GoogleDrive</commonModules>
|
||||||
<commonModules>CommonModule.OPI_Тесты</commonModules>
|
<commonModules>CommonModule.OPI_Тесты</commonModules>
|
||||||
<commonModules>CommonModule.OPI_ПолучениеДанныхТестов</commonModules>
|
<commonModules>CommonModule.OPI_ПолучениеДанныхТестов</commonModules>
|
||||||
</mdclass:Configuration>
|
</mdclass:Configuration>
|
||||||
|
Reference in New Issue
Block a user