首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ABPerson修改PyObjC实例?

如何使用ABPerson修改PyObjC实例?
EN

Stack Overflow用户
提问于 2013-06-17 03:46:53
回答 1查看 234关注 0票数 2

我正试图对OS X上的一个非常大的地址簿进行一些修复。我想通过编程来完成这个任务,因为这将是一项非常紧张的手工工作。凭直觉,考虑到我对Python的熟悉程度,我想我可能会为此使用PyObjC。

我可以使用PyObjC的模块AddressBook四处走动,但我似乎无法做任何更改:

代码语言:javascript
复制
>>> import AddressBook
>>> ab = AddressBook.ABAddressBook.addressBook()
>>> p = ab.people()[0]
>>> p.isReadOnly()
True
>>> p.valueForProperty_('First')
u'Foo'
>>> p.setValue_forProperty_('Bar', 'First')
False
>>> p.valueForProperty_('First')
u'Foo'
>>> type(p)
<objective-c class ABPerson at 0x7fff76e01ab8>

我的第一个问题是,我可以这样编辑/修改联系人/人吗?我的第二个问题是,对于这类工作,我还可以使用ScriptingBridge对联系人进行更改,使用AppleScript或甚至PyObjC (或其他)与联系人应用程序对话。这会比使用“低级”API更好吗?

编辑--我尝试了几种方法,普通的AppleScript和使用ScriptingBridge的ScriptingBridge。我为联系人编写修改脚本的所有方法都失败了,即使当我调用通讯簿的save()方法时也是如此。我是否需要编辑某些系统设置以允许编写联系人脚本?

编辑记录,我正在运行OS山狮10.8.3

EN

回答 1

Stack Overflow用户

发布于 2013-06-17 20:35:58

回答我自己的问题。在运行上述脚本之后,查看控制台中的错误,我看到许多错误如下所示:

代码语言:javascript
复制
AOSKit ERROR: (-) RAF: Invalid url -- https://[myemail]@webdav.facebook.com/[myfbid]/contacts/

(电子邮件和身份证当然变了)。我在OS首选项中设置了一个“Facebook”帐户。据我所知,我删除了这个Facebook OS X账户,然后重新添加它。之后,上面的脚本就可以正常工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17140148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档