Простой пример работы с google docs из 1С V8.
Рассмотрены только некоторые простые операции: получение списка документов/коллекций, загрузка документа на сервер, установка прав доступа, удаление документа.
Это простой пример работы с google docs из 1С V8.
Рассмотрены только некоторые простые операции: получение списка документов/коллекций, загрузка документа на сервер, установка прав доступа, удаление документа.
Модификация документов средствами API мне не требовалась, и поэтому делать не пробовал.
Первым делом получаем идентификатор/параметр авторизации (authentication token)
ФайлИд = ПолучитьИмяВременногоФайла();
Соединение = Новый HTTPСоединение("www.google.com", , , , , Истина);
Соединение.Получить("accounts/ClientLogin?accountType=GOOGLE&service=writely&source=1C&Email=" + ИмяПользователя + "&Passwd=" + Пароль, ФайлИд);
//writely,wise
ФайлОтвета = Новый ТекстовыйДокумент;
ФайлОтвета.Прочитать(ФайлИд, "utf-8");
ПараметрАвторизации = ФайлОтвета.ПолучитьСтроку(3);
Файл = Новый Файл(ИсточникИмяФайла);
РазмерФайла = Файл.Размер();
ИмяФайла = Файл.Имя;
Файл = Неопределено;
СайтУРЛ = "docs.google.com";
УРЛ = "feeds/default/private/full";
РезультатИмяФайла = ПолучитьИмяВременногоФайла();
//ПараметрАвторизации = ПолучитьПараметрАвторизации();
Соединение = Новый HTTPСоединение(СайтУРЛ, , , , , Истина);//"spreadsheets0.google.com"
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "GoogleLogin auth=" + Сред(ПараметрАвторизации, 6));
Заголовки.Вставить("GData-Version", "3.0");
Заголовки.Вставить("Content-Length", Формат(РазмерФайла, "ЧГ="));
Заголовки.Вставить("Content-Type", "application/vnd.ms-excel");
Заголовки.Вставить("Slug", ИмяФайла);
//Теперь можно отправлять GET или POST запросы гугловскому API.
//Отправка POST Запроса
Соединение.ОтправитьДляОбработки(ИсточникИмяФайла, УРЛ, РезультатИмяФайла, Заголовки);
СайтУРЛ = "docs.google.com";
УРЛ = "feeds/default/private/full/" + ИдентификаторДокумента + "";//?delete=true
//ПараметрАвторизации = ПолучитьПараметрАвторизации();
Соединение = Новый HTTPСоединение(СайтУРЛ, , , , , Истина);//"spreadsheets0.google.com"
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "GoogleLogin auth=" + Сред(ПараметрАвторизации, 6));
Заголовки.Вставить("If-Match", "*");//If-Match:
Заголовки.Вставить("GData-Version", "3.0");
//Теперь можно отправлять GET или POST, DELETE запросы гугловскому API.
Соединение.Удалить(УРЛ, Заголовки);//feeds/spreadsheets/private/full
СайтУРЛ = "docs.google.com";
УРЛ = "feeds/default/private/full";
//УРЛ = "feeds/default/private/full/-/folder";//GET /feeds/default/private/full/-/folder//GET /feeds/default/private/full?showfolders=true
РезультатИмяФайла = ПолучитьИмяВременногоФайла();
//ПараметрАвторизации = ПолучитьПараметрАвторизации();
Соединение = Новый HTTPСоединение(СайтУРЛ, , , , , Истина);//"spreadsheets0.google.com"
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "GoogleLogin auth=" + Сред(ПараметрАвторизации, 6));
Заголовки.Вставить("GData-Version", "3.0");
//Теперь можно отправлять GET или POST запросы гугловскому API.
//Например получение списка spreadsheets через GET:
Соединение.Получить(УРЛ, РезультатИмяФайла, Заголовки);//feeds/spreadsheets/private/full
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua