共有ポイントを 2013 から 2019 に移行しています。共有ポイント 2013 で正常に動作するスクリプトが、共有ポイント 2019 で奇妙なエラーをスローします。
{"error":{"code":"-1, Microsoft.SharePoint.Client.UnknownError","message":{"lang":"en-US","value":"Unknown Error"}}}
スクリプトは、現在のユーザーのプロフィール写真を設定することです。
function setMyProfilePicture(arrayBuffer) {
var absoluteUrl = _spPageContextInfo.webAbsoluteUrl;
var setPictureEndpoint = absoluteUrl + "/_api/SP.UserProfiles.PeopleManager/SetMyProfilePicture";
$.ajax({
url: setPictureEndpoint,
type: "POST",
data: arrayBuffer,
processData: false,
headers: {
"accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"content-length": arrayBuffer.byteLength
},
success: data => console.log(data),
error: error => console.log(error.responseText)
});
}
SP.RequestExecutor オブジェクトで同じことを試みましたが、エラーがまだ存在します。最後に、同じ結果 (不明なエラー) を持つ単純な powershell スクリプトを作成しました。
$context = new-object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$manager = new-object Microsoft.SharePoint.Client.UserProfiles.PeopleManager($context)
$personProps = $manager.getpropertiesfor($userAccountName)
$context.load($personProps)
$fs = new-object System.IO.FileStream($filePath, [System.IO.FileMode]::Open)
$manager.setmyprofilepicture($fs)
$context.load($manager)
$context.executequery()
残念ながら、別の sharepoint 2019 サーバーでこれを試すことはできません。