2014-03-03 126 views
1

我想在我的网络应用程序中列出Google通讯录。我的团队中有270个联系人,需要50秒才能使用ContactsApp.getContacts()加载所有联系人。 Google apps脚本中有任何方法可以获取少量联系人,以便我可以分页。Google Apps脚本Google通讯录

在此先感谢 杜尔加

回答

2

嗯,联系人检索是大数据集很慢,但如果你说你需要从某一组接触 - 那么也许你很幸运,原因通常检索按组是多少更快。 试着这么做:

var group = ContactsApp.getContactGroup("GroupName"); 
var contacts = ContactsApp.getContactsByGroup(group) 
0

我的解决方案并不完美,但我已经看到了电子表格的速度要快得多。 1.编写一个脚本来加载联系人并使用SpreadsheetApp将其保存在Spreadsheet中。显然,你不能在其中保存contact objects。您将保存需要在应用中显示的字符串。并创建一个触发器,每隔一小时更新一次这个电子表格(或任何适合您需要的时间间隔)。 2.现在您的应用程序会与显示联系人而非联系人的电子表格进行通话。

我建议做一个从电子表格中读取数值的小测试,看看它有多快。如果它足够快,建立应用程序用电子表格同步联系人。

+0

这是否假设OP希望放弃Google Contacts以使用电子表格解决方案...? – Jonathon

+0

电子表格中的联系人和日历需要更多时间才能获取50行以上的50行记录。我的解决方案只是为了更快地获取信息。 OP可能希望坚持使用联系人应用程序,因为它可能在其整个解决方案中以多种不同方式使用,应用程序脚本可能只是其中的一小部分。 – llaaalu