Имя: Пароль:
1C
1С v8
Работа с контактами Google через Google Contacts API
0 wisekat
 
13.06.12
18:08
Собственно сабж. Нужен работающий пример для 8-ки как достучаться к контактам в заданном аккаунте Гугла. Возникла задача экспортировать контакты из 8-ки на Гугл для последующей синхронизации с мобильными девайсами на Андроид.

Из толковых примеров работы с Гуглом нашёл только вот это:
http://infostart.ru/public/87211/

Но там нет примера работы с контактами...

Для справки - полная документация на текущий Google Contacts API здесь:
https://developers.google.com/google-apps/contacts/v3/
1 izekia
 
13.06.12
18:11
а напрямую не синхронизируется?)
2 wisekat
 
13.06.12
18:20
Начал писать тестовую конфу. Дошёл до такого кода, на котором заткнулся:


ИмяПользователя = "[email protected]";
Пароль = "~~~";

ФайлИд = ПолучитьИмяВременногоФайла();                
Соединение = Новый HTTPСоединение("www.google.com", , , , , Истина);
Соединение.Получить("accounts/ClientLogin?accountType=GOOGLE&service=writely&source=1C&Email=" + ИмяПользователя + "&Passwd=" +  Пароль, ФайлИд);
ФайлОтвета = Новый ТекстовыйДокумент;
ФайлОтвета.Прочитать(ФайлИд, "utf-8");
ПараметрАвторизации = ФайлОтвета.ПолучитьСтроку(3);


ИсточникИмяФайла = "D:\My Work\Create_Request.txt";
РезультатИмяФайла = "D:\My WorkCreate_Output.txt";
УРЛ = "https://www.google.com/m8/feeds/contacts/default/full";

Соединение = Новый HTTPСоединение("mail.google.com", , , , , Истина);
Заголовки = Новый Соответствие;
Заголовки.Вставить("Authorization", "GoogleLogin auth=" + Сред(ПараметрАвторизации, 6));
Заголовки.Вставить("GData-Version", "3.0");
Соединение.ОтправитьДляОбработки(ИсточникИмяФайла, УРЛ, РезультатИмяФайла, Заголовки);

ПараметрАвторизации вроде нормально получаю, а дальше никак не могу даже простейший запрос на получение имеющихся контактов аккаунта выполнить - error 404.
3 wisekat
 
13.06.12
18:23
1: На какую "прямую"??
4 izekia
 
13.06.12
18:26
(3) нет приложений, которые синхронизируют контакты не через гугл?
5 wisekat
 
13.06.12
18:31
(4) Надо именно так, чтоб и в Гугле было.

Если по самой задаче, то у Гугла есть готовые либы для .NET. Я могу и на дотНЕТ-е написать, но это получаются внешние приложения/библиотеки со своим гемором. А хотелось бы напрямую из 1С всё делать, благо она это позволяет с помощью объекта HTTPСоединение.
6 izekia
 
13.06.12
18:37
(5) ясно, а проблемы с сертификатами не может быть? ты же хттпс используешь
7 wisekat
 
13.06.12
18:46
(6) То-то и оно, что я не врублюсь как и куда специальные параметры идентификации вставить надо. Для работы с Contacts API из приложений надо зарегиться в Google API Console (https://code.google.com/apis/console/). Тогда там выдают специальные
<Client ID> и <Client secret>. А вот куда их прилепить - непонятно...
8 izekia
 
13.06.12
18:53
(7) сорри через 1С опыта не было