为什么从 sharepoint siteusers api 或 clientPeoplePickerSearchUser api 获得的用户 ID 不同于 sharepoint Task AssignedToId?
Why User Id gotten from sharepoint siteusers api or clientPeoplePickerSearchUser api different from sharepoint Task AssignedToId?
我正在尝试使用 sharepoint rest api 创建一个任务,在这样做时我也在尝试添加受让人,这是通过添加 AssignedToId
完成的。我使用用户信息 api 或 clientPeoplePickerSearchUser api 和站点用户 api 为特定用户获取的用户 ID(例如,使用 ID 28 检索的用户)不同于它想要的 AssignedToId (对于同一个用户,它想要的 AssignedToId 是 14)。
我试过api用户信息api
GET
/_vti_bin/ListData.svc/UserInformationList?$filter=(substringof('" + params.searchKey + "',Name) and ContentType eq 'Person')
还有客户端PeoplePickerSearchUser
POST /_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser
var data = {
queryParams: {
AllowEmailAddresses: true,
AllowMultipleEntities: false,
AllUrlZones: false,
MaximumEntitySuggestions: 50,
PrincipalSource: 15,
PrincipalType: 15,
QueryString: params.searchKey,
Required: false,
UrlZoneSpecified: false
}
}
let users = JSON.parse(createTaskResponse.data.d.ClientPeoplePickerSearchUser)
// return users
let userUrl = this.userProvider.resource + "/_api/web/siteusers?"
let promises = []
for(let user of users) {
let actualUrl = userUrl + "Title eq " + user.DisplayText
console.log('user is: ', user.DisplayText)
promises.push(axios.get(actualUrl, {
headers: headers
}))
}
所以我的方法的问题是共享点在基本域/站点和子站点之间具有不同的用户 ID,因此您想使用基本共享点 url 的实际站点 url访问共享点用户时。
我正在尝试使用 sharepoint rest api 创建一个任务,在这样做时我也在尝试添加受让人,这是通过添加 AssignedToId
完成的。我使用用户信息 api 或 clientPeoplePickerSearchUser api 和站点用户 api 为特定用户获取的用户 ID(例如,使用 ID 28 检索的用户)不同于它想要的 AssignedToId (对于同一个用户,它想要的 AssignedToId 是 14)。
我试过api用户信息api
GET
/_vti_bin/ListData.svc/UserInformationList?$filter=(substringof('" + params.searchKey + "',Name) and ContentType eq 'Person')
还有客户端PeoplePickerSearchUser
POST /_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser
var data = {
queryParams: {
AllowEmailAddresses: true,
AllowMultipleEntities: false,
AllUrlZones: false,
MaximumEntitySuggestions: 50,
PrincipalSource: 15,
PrincipalType: 15,
QueryString: params.searchKey,
Required: false,
UrlZoneSpecified: false
}
}
let users = JSON.parse(createTaskResponse.data.d.ClientPeoplePickerSearchUser)
// return users
let userUrl = this.userProvider.resource + "/_api/web/siteusers?"
let promises = []
for(let user of users) {
let actualUrl = userUrl + "Title eq " + user.DisplayText
console.log('user is: ', user.DisplayText)
promises.push(axios.get(actualUrl, {
headers: headers
}))
}
所以我的方法的问题是共享点在基本域/站点和子站点之间具有不同的用户 ID,因此您想使用基本共享点 url 的实际站点 url访问共享点用户时。