Синхронизировать контакты Google по группам с ограниченным числом пользователей
Я пытаюсь создать код Python с открытым исходным кодом, размещенный в GAE, для синхронизации контактов по группам с ограниченным числом пользователей. В веб-интерфейсе пользователи смогут выбирать свою группу и с кем она будет синхронизироваться.
Я понимаю, что на рынке есть много приложений с одинаковыми функциональными возможностями, но моя организация обеспокоена тем, что они обеспечивают продажу контактов третьим сторонам. Мы некоммерческая организация, поэтому код может быть размещен на google-проекте или github для участия сообщества.
(извините за длинное вступление)
- Как лучше всего начать? есть ли учебник с похожей функциональностью, который я могу расширить?
- Каков наилучший способ сравнить два элемента типа "Контакт"? Чтобы увидеть, если они должны быть синхронизированы.
- Есть ли последнее обновление элементов Contact вида? В случае, если я хочу реализовать последнее обновление побед?
Спасибо!
2 ответа
Я не знаю каких-либо руководств по синхронизации и сравнению контактов, но есть руководство по началу работы с API контактов Google по адресу https://developers.google.com/google-apps/contacts/v3/.
Контакты отправляются в виде блобов XML, поэтому вы можете сравнить два контакта, проанализировав их и просмотрев отдельные элементы внутри них. Я не думаю, что есть лучший способ сделать это, но есть библиотеки, чтобы справиться с этим для вас.
Последнее обновленное поле отправлено как часть контактов при получении их с помощью API. Это элемент XML с меткой <updated>
,
how are you getting different user's contacts feeds?
i tried to save the tokens in the datastore when the
users grant the access, but when i get the token back
from datastore for 2 users at a time, after an hour
when the token expires,
all tokens start working like the current users token
and i can only get current users contacts.
token = Get_Shared_User_Token(user_email)
contact_client = gdata.contacts.client.ContactsClient(source=USER_AGENT)
authorized_client = token.authorize(contact_client)
contacts_feed = authorized_client.GetContacts(q = query)
can you please tell how one can get any user's contacts?