2017-08-17 4 views
0

Lorsque vous accédez à une liste Sharepoint 2010 via le noeud final de service REST utilisant ListData.svc:Sharepoint 2010 REST List Service manque-t-il des champs de personne?

.../_/vti_bin ListData.svc/ExpenseBudgetSubmissionRequests

La réponse est des champs manquants personne/utilisateur qui sont définis dans le liste:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<feed xml:base=".../_vti_bin/listdata.svc/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom"> 
    <title type="text">ExpenseBudgetSubmissionRequests</title> 
    <id>.../_vti_bin/listdata.svc/ExpenseBudgetSubmissionRequests/</id> 
    <updated>2017-08-17T08:03:15Z</updated> 
    <link rel="self" title="ExpenseBudgetSubmissionRequests" href="ExpenseBudgetSubmissionRequests" /> 
    <entry m:etag="W/&quot;1&quot;"> 
    <id>.../_vti_bin/listdata.svc/ExpenseBudgetSubmissionRequests(1)</id> 
    <title type="text">Department1</title> 
    <updated>2017-08-16T11:20:29+01:00</updated> 
    <author> 
     <name /> 
    </author> 
    <link rel="edit" title="ExpenseBudgetSubmissionRequestsItem" href="ExpenseBudgetSubmissionRequests(1)" /> 
    <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Status" type="application/atom+xml;type=entry" title="Status" href="ExpenseBudgetSubmissionRequests(1)/Status" /> 
    <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/CreatedBy" type="application/atom+xml;type=entry" title="CreatedBy" href="ExpenseBudgetSubmissionRequests(1)/CreatedBy" /> 
    <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/ModifiedBy" type="application/atom+xml;type=entry" title="ModifiedBy" href="ExpenseBudgetSubmissionRequests(1)/ModifiedBy" /> 
    <link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/Attachments" type="application/atom+xml;type=feed" title="Attachments" href="ExpenseBudgetSubmissionRequests(1)/Attachments" /> 
    <category term="Microsoft.SharePoint.DataService.ExpenseBudgetSubmissionRequestsItem" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /> 
    <content type="application/xml"> 
     <m:properties> 
     <d:ContentTypeID>0x0100F434AF171BE4B04F8C760EB990D765EF</d:ContentTypeID> 
     <d:Department>Department1</d:Department> 
     <d:CostCentre>CostCentre1</d:CostCentre> 
     <d:FinancialYear m:type="Edm.Double">2017</d:FinancialYear> 
     <d:StatusValue>Unsubmitted</d:StatusValue> 
     <d:Id m:type="Edm.Int32">1</d:Id> 
     <d:ContentType>Item</d:ContentType> 
     <d:Modified m:type="Edm.DateTime">2017-08-16T11:20:29</d:Modified> 
     <d:Created m:type="Edm.DateTime">2017-08-16T11:20:29</d:Created> 
     <d:CreatedById m:type="Edm.Int32">2</d:CreatedById> 
     <d:ModifiedById m:type="Edm.Int32">2</d:ModifiedById> 
     <d:Owshiddenversion m:type="Edm.Int32">1</d:Owshiddenversion> 
     <d:Version>1.0</d:Version> 
     <d:Path>.../Lists/Expense Budget Submission Requests</d:Path> 
     </m:properties> 
    </content> 
    </entry> 
</feed> 

Vous avez tenté de spécifier des champs de personne à l'aide des paramètres $ select et $ exapnd mais sans succès. Comment accédez-vous aux champs de la personne?

Répondre

0

crédit à cette entrée de blog: https://thesharepointdive.wordpress.com/2014/09/17/user-field-does-not-appear-sharepoint-2010-rest-services/

L'attribut liste est absente de la Schema.xml, sans toutefois le droit d'accès, je ne peux pas sembler modifier le fichier XML Schema directement.

Solution: Dans les paramètres de la liste, définissez le champ de la personne à choisir dans un groupe d'utilisateurs. Vous pouvez toujours le redéfinir sur Tous les utilisateurs par la suite, mais cette action crée l'attribut List par rapport au champ de la liste schema.xml.

Les champs utilisateur sont maintenant présents dans la réponse REST.

Click here for list settings screen shot