将Google联系人按组同步到有限数量的用户

时间:2012-12-04 01:28:00

标签: google-app-engine google-profiles-api

我正在尝试构建一个在GAE托管的开源python代码,以便按组将联系人同步到有限数量的用户。在Web界面中,用户可以选择他们的组以及与之同步的人员。

据我所知,市场上有很多具有相同功能的应用程序,但我的组织担心那些提供向第三方销售联系人的应用程序。我们是一个非营利性组织,因此代码可以托管在谷歌项目或github上进行社区贡献。

(抱歉长篇介绍)

  • 最好的开始方式是什么?是否有可以扩展的类似功能的教程?
  • 比较两种Contact类型元素的最佳方法是什么?看他们是否需要同步。
  • 是否有关于联系种类元素的最新更新?如果我想实现最后一次更新获胜?

谢谢!

2 个答案:

答案 0 :(得分:1)

我不知道有任何专门用于同步和比较联系人的教程,但有{... 3}}的Google通讯录API的入门指南。

联系人以XML blob的形式发送,因此您可以通过解析它们并查看其中的各个元素来比较两个联系人。我认为没有更好的方法可以做到这一点,但有一些库可以为你处理它。

使用API​​检索联系人时,有一个最后更新的字段作为联系人的一部分发送。它是一个标记为<updated>的XML元素。

答案 1 :(得分:0)

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?