有没有人成功地使用ABAddressBook框架搜索链接到iOS设备的Exchange GAL中的名称,或者其他?
我已经设法从存储在设备上的联系人中获取所有名称 - 这很容易 - 但它不包括来自Exchange GAL的名称.
我还设法获得了GAL的ABSource.它的类型是:kABSourceTypeExchangeGAL = kABSourceTypeExchange | kABSourceTypeSearchableMask
这表明源是可搜索的,因为该kABSourceTypeSearchableMask位是set(kABSourceTypeSearchableMask = 0x01000000),但如何搜索它是任何人的猜测?文档几乎不存在.
下面列出了类似的stackoverflow问题,但没有一个为此提供解决方案.
ABAddressBookCopyArrayOfAllPeopleInSource(addressBook, sourceToSearch)总是为包含类型位的源返回一个空数组kABSourceTypeSearchableMask,这表示你必须按名称搜索,而不是返回"所有人",因为全局地址列表中可能有成千上万的人,所以我不会期待它全部归还.
通讯录应用程序允许您按名称搜索并仅显示匹配的内容.在"收件人:"文本字段中输入文本时,Mail应用程序也是如此.
嗨,我有以下从我尝试使用在StackOverflow上获得的代码从Outlook中提取数据.
使用第一个循环,我试图收集对象可用的所有属性.
在运行它时,我注意到缺少Name,后来在第二个循环中调用,我认为这是由于继承.请问你能帮助我找到课堂上的所有属性吗?
import win32com.client,sys
o = win32com.client.gencache.EnsureDispatch("Outlook.Application")
ns = o.GetNamespace("MAPI")
adrLi = ns.AddressLists.Item("Global Address List")
contacts = adrLi.AddressEntries
numEntries = adrLi.AddressEntries.Count
print(type(contacts))
nameAliasDict = {}
attrs_ = dir(contacts)
for i in range(len(attrs_)):
print((attrs_[i]))
for j in contacts:
print(j.Name)
sys.exit()
Run Code Online (Sandbox Code Playgroud)