【发布时间】:2011-11-07 08:55:55
【问题描述】:
(请注意,我需要一个适用于 2007 年和 2010 年的解决方案)
我们有一个桌面应用程序,我们正在添加 Sharepoint 签入和签出功能以使用 Web 服务。
我们遇到的一个问题是确定(桌面应用程序的)当前用户是否已签出文档。
我们当前的方法是通过 Lists GetListItems 调用获取有关文档的信息,如果文档被签出,该调用将返回 ows_CheckoutUser 字段。
然后我们想将结帐用户的姓名与我们的用户姓名进行比较。
问题是 ows_CheckoutUser 中的名称似乎是用户的显示名称,而不是帐户名称,因此对于此检查来说不是唯一且不可靠的。
我注意到 ows_CheckoutUser 还为用户返回了一个 ID 值,但我似乎不知道如何获取当前用户的 ID,因此我可以对其进行比较。
有人对此有任何想法吗?这是正确的方法还是有更好的方法?
我曾考虑尝试通过 GetListItems 运行与文档名称匹配的查询,并且结帐用户等于我当前的用户,以查看我是否得到任何结果,但我认为这会遇到同样的问题。
或者我可能需要离开 Web 服务并使用 author.dll?
编辑
我已经开始通过 Author.dll FP 扩展使用 RPC 调用 getDocsMetaInfo。
此调用实际上为您提供了已签出文档的用户的帐户名称。
不过,我仍然对使用 Web 服务的解决方案感兴趣
【问题讨论】:
-
如果解决方案包含第三方插件,您会感兴趣吗?
-
服务器插件?如果是这样,我们无法控制客户将使用的 SharePoint 网站。因此,恐怕服务器插件不会有太大用处。