Error 'Cannot get value for projected field Approvers_x005f_EMail' when users without email were set to the field

Ivan Tioh 116 Reputation points
2025-08-12T10:52:30.0266667+00:00

SharePoint List Setup

I have a simple list with a Person field Approvers which allows multiple selections. One of the list items has a user set to the Approvers but the said user does not have email configured.

REST API used

https://xxx.sharepoint.com/sites/xxx/_api/Web/Lists(guid'xxx')/items/?$filter=ID eq xxx&$select=*,Approvers%2FEMail&$expand=Approvers

REST API response

Error

{
    "odata.error": {
        "code": "-2146232832, Microsoft.SharePoint.SPException",
        "message": {
            "lang": "en-US",
            "value": "Cannot get value for projected field Approvers_x005f_EMail."
        }
    }
}

Graph API used

https://graph.microsoft.com/v1.0/sites/xxx/lists/xxx/items?$filter=startswith(fields/Title, 'xxx')&$expand=fields($select=Title,Approvers)

Graph API response

Success

"Approvers": [
    {
        "LookupId": 1,
        "LookupValue": "User A",
        "Email": ""
    },
    {
        "LookupId": 2,
        "LookupValue": "User B",
        "Email": ""
    },
    {
        "LookupId": 3,
        "LookupValue": "User C",
        "Email": "******@outlook.com"
    }
]

Question

Is there anyway we can tell the REST API to react the same way as Graph API, instead of failing, return the data as-is?

Microsoft 365 and Office | SharePoint | Development
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Steven-N 5,575 Reputation points Microsoft External Staff Moderator
    2025-08-12T12:05:10.64+00:00

    Hi Ivan Tioh

    Thanks for reaching out to Microsoft Q&A forum support 

    Based on your description, I understand that you're using the SharePoint REST API to retrieve items from a list with a multi-select Person field named "Approvers" One of the users in this field does not have an email address configured, and while the Graph API returns the data successfully (with empty email values), the REST API throws an error when attempting to project the Approvers/EMail field.   

    As far as I know, the issue arises because the SharePoint REST API's projection mechanism ($select=Approvers/EMail) expects all referenced users to have valid email addresses. If any user lacks this information, the API fails with a Cannot get value for projected field Approvers_x005f_EMail error. This behavior is a known limitation of the REST API, which does not gracefully handle null or missing values in projected fields.   

    From my perspective view, you might try to avoid projecting the EMail field directly. Instead, consider to use $select=Approvers&$expand=Approvers to retrieve the full user objects and handle the email values in your application logic. This approach maybe allows you to parse the results manually and tolerate missing email fields without triggering an error.  

    If the issue still can't be resolved, it may be due to a default limitation of the REST API. This topic has been discussed in other technical forums before, you can check the link below for more insights: 

    LINK: https://sharepoint.stackexchange.com/questions/146121/cannot-get-value-for-projected-field

    Note: Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please make sure that you completely understand the risk before retrieving any suggestions from the above link.

    Additionally, I recommend raising this concern in the Microsoft Tech Community, where developers and experienced users may offer deeper technical perspectives and practical suggestions. 

    Hope my answer will help you


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".     

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.