2

大規模な結果コレクションを返す作業中の REST 要求があります。(ここはカット)

元の URL は次のとおりです。

http://intranet.domain.com//_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='domain\kens'&$select=AccountName,DisplayName,Email,Title,UserProfileProperties

応答は次のとおりです。

{
"d": {
    "__metadata": {
        "id": "stuff",
        "uri": "morestuff",
        "type": "SP.UserProfiles.PersonProperties"
    },
    "AccountName": "domain\\KenS",
    "DisplayName": "Ken Sanchez",
    "Email": "KenS@domain.com",
    "Title": "Research Assistant",
    "UserProfileProperties": {
        "results": [
            {
                "__metadata": {
                    "type": "SP.KeyValue"
                },
                "Key": "UserProfile_GUID",
                "Value": "1c419284-604e-41a8-906f-ac34fd4068ab",
                "ValueType": "Edm.String"
            },
            {
                "__metadata": {
                    "type": "SP.KeyValue"
                },
                "Key": "SID",
                "Value": "S-1-5-21-2740942301-4273591597-3258045437-1132",
                "ValueType": "Edm.String"
            },
            {
                "__metadata": {
                    "type": "SP.KeyValue"
                },
                "Key": "ADGuid",
                "Value": "",
                "ValueType": "Edm.String"
            },
            {
                "__metadata": {
                    "type": "SP.KeyValue"
                },
                "Key": "AccountName",
                "Value": "domain\\KenS",
                "ValueType": "Edm.String"
            }...

キー = SID またはキー = 他の値である結果コレクションからキー値のみを返す $filter を使用して REST 要求を変更することは可能ですか?

名前による結果コレクションから約 3 つの値のみが必要です。

4

1 に答える 1

0

OData では、内部フィードをフィルター処理できません。

代わりに、UserProfileProperties が由来するエンティティ セットを照会し、関連する SP.UserProfiles.PersonProperties エンティティを展開することができます。

構文はシナリオに合わせて調整する必要がありますが、次の行に沿って何かを考えています:

service.svc/UserProfileProperties?$filter=Key eq 'SID' and RelatedPersonProperties/AccountName eq 'domain\kens'&$expand=RelatedPersonProperties

これは、UserProfileProperties の最上位エンティティ セットがあり、それぞれが (私の例では) RelatedPersonProperties と呼ばれるナビゲーション プロパティを介して単一の SP.UserProfiles.PersonProperties エンティティに関連付けられていることを前提としています。

于 2013-09-22T01:58:56.670 に答える