我尝试使用 sharepoint Rest api 创建一个任务,在此过程中我还尝试添加受让人,这是通过添加 AssignedToId
来完成的。我使用用户信息 api 或 clientPeoplePickerSearchUser api 与站点用户 api 获取的特定用户的用户 ID(例如,使用 Id 28 检索的用户)与同一用户所需的分配到 ID(它需要的分配到 ID 为 14)不同。
我尝试过api用户信息api
GET
/_vti_bin/ListData.svc/UserInformationList?$filter=(substringof('" + params.searchKey + "',Name) and ContentType eq 'Person')
还有 clientPeoplePickerSearchUser
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
}))
}
因此,我的方法的问题是,sharepoint 在基本域/站点和子站点之间具有不同的用户 ID,因此您希望在访问 sharepoint 用户时使用实际站点 URL,而不是基本 sharepoint url。
我是一名优秀的程序员,十分优秀!