4

RESTを使用してPersonフィールドを保存する方法を知っている人はいますか?

私は次のことを試しましたが、うまくいきます:

{ 
   "__metadata": { "type": "SP.Data.SomeListListItem" } , 
   "MyPersonFieldId" : 1
}

ただし、これは ID がわかっている場合にのみ機能します。私はそれを持っていません!どうすれば入手できますか?私は の鍵を持っていますi.0#w|domain\userName

次のことを試しましたが、どちらも機能しません。

{ 
   "__metadata": { "type": "SP.Data.SomeListListItem" } , 
   "MyPersonField" : { "__metadata": { "type": "SP.Data.UserInfoItem" }, "Name": "i.0#w|domain\userName" }
}

何か案は??ありがとう!

4

3 に答える 3

0

ユーザー情報はルックアップフィールドであるMyPersonFieldため、ODataエンドポイントを使用する場合、SharePointリストに存在しません。データを保存する方法がわかりませんが、ユーザーを読み取ろうとしたときに同じ問題が発生しました。

たとえば {server}/{api}/list/getbytitle('mylist')/items、戻り値ではMyPersonFieldなく、戻り値MyPersonFieldIdです。

しかし、使用する場合:

{server}/{api}/list/getbytitle('mylist')/items/?$select=*,MyPersonField/Name&$expand=MyPersonField

MyPersonFieldルックアップ値を操作できます。

于 2013-03-08T21:37:36.077 に答える
0

以下のコードを使用して現在のユーザー ID を取得し、ユーザーとグループの列にユーザーを保存します。人の列名はRequestorです。ただし、ユーザーを保存するには、列名を次のように指定する必要がありますRequestorId

var userid = _spPageContextInfo.userId; // To get current user ID
var itemProperties={'Title':vTitle,'RequestorId':userid};
于 2016-08-18T09:37:46.803 に答える