我有一个页面需要为登录用户检索部门。理想情况下,我希望能够通过JavaScript SOAP CAML查询来完成。我有用户的ID(我假设双GUID),所以它看起来像检索与ID匹配的行的简单问题。SharePoint获取当前用户属性
我正在研究使用SOAP中的'GetUserProfileByIndex'或'GetUserProfileByGuid'函数,但我似乎无法找到任何可靠的文档或体面的使用它们的示例。我希望做在JavaScript这样的事情 - (没有工作):
var userId = 194;
"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
<soapenv:Body> \
<GetUserProfileByIndex xmlns='http://microsoft.com/webservices/SharePointPortalServer/UserProfileService'> \
<index>userId</index> \
</GetUserProfileByIndex > \
</soapenv:Body> \
</soapenv:Envelope>";
我在看这个jQuery库和这个函数,但它不适用于我的情况,因为:1)我是不使用允许查看配置文件页面的帐户类型(尽管权限更改可以解决此问题)2)我实际上是从我们添加的列中提取“部门代码”值(可能会将其添加到配置文件页面) 3)它用于检索用户配置文件信息的方法并不像我想的那样干净 - 它通过加载页面,然后根据内部字段名称''从页面中删除'值来工作。 – 2011-03-19 15:56:29
@Eric这是有道理的。我喜欢你的回答,因为你展示了很多人倾向于避免的蛮力方法。是的,你的代码有更多的线条,但它完成了工作! – 2011-03-20 13:09:25