Reputation: 1085
We are making integrations to Azure AD for various companies. As a part of this work we have to ask which fields in their systems needs to be mapped over to our system.
Because people don't actually use the system names day to day, most people we encounter have no clue of this.
Given correct credentials, is it possible to either fetch all properties that a User object can return or is there a predefined list already?
The closest I could find have been this one, but the url says "previous version", so I'm not sure if it's been changed or not.
I tried finding it via the API using $select=*
, but as you may know that will just give the default list of properties.
Upvotes: 1
Views: 5901
Reputation: 33124
The available properties are documented in the user
resource section of the Graph documentation. The JSON prototype for the user
looks like this:
{
"aboutMe": "string",
"accountEnabled": true,
"ageGroup": "string",
"assignedLicenses": [{"@odata.type": "microsoft.graph.assignedLicense"}],
"assignedPlans": [{"@odata.type": "microsoft.graph.assignedPlan"}],
"birthday": "String (timestamp)",
"businessPhones": ["string"],
"city": "string",
"companyName": "string",
"consentProvidedForMinor": "string",
"country": "string",
"department": "string",
"displayName": "string",
"employeeId": "string",
"faxNumber" : "string",
"givenName": "string",
"hireDate": "String (timestamp)",
"id": "string (identifier)",
"imAddresses": ["string"],
"interests": ["string"],
"jobTitle": "string",
"legalAgeGroupClassification": "string",
"licenseAssignmentStates": [{"@odata.type": "microsoft.graph.licenseAssignmentState"}],
"mail": "string",
"mailboxSettings": {"@odata.type": "microsoft.graph.mailboxSettings"},
"mailNickname": "string",
"mobilePhone": "string",
"mySite": "string",
"officeLocation": "string",
"onPremisesDistinguishedName": "string",
"onPremisesDomainName": "string",
"onPremisesExtensionAttributes": {"@odata.type": "microsoft.graph.onPremisesExtensionAttributes"},
"onPremisesImmutableId": "string",
"onPremisesLastSyncDateTime": "String (timestamp)",
"onPremisesProvisioningErrors": [{"@odata.type": "microsoft.graph.onPremisesProvisioningError"}],
"onPremisesSamAccountName": "string",
"onPremisesSecurityIdentifier": "string",
"onPremisesSyncEnabled": true,
"onPremisesUserPrincipalName": "string",
"otherMails": "string",
"passwordPolicies": "string",
"passwordProfile": {"@odata.type": "microsoft.graph.passwordProfile"},
"pastProjects": ["string"],
"postalCode": "string",
"preferredDataLocation": "string",
"preferredLanguage": "string",
"preferredName": "string",
"provisionedPlans": [{"@odata.type": "microsoft.graph.provisionedPlan"}],
"proxyAddresses": ["string"],
"responsibilities": ["string"],
"schools": ["string"],
"showInAddressList": true,
"skills": ["string"],
"state": "string",
"streetAddress": "string",
"surname": "string",
"usageLocation": "string",
"userPrincipalName": "string",
"userType": "string",
"calendar": { "@odata.type": "microsoft.graph.calendar" },
"calendarGroups": [{ "@odata.type": "microsoft.graph.calendarGroup" }],
"calendarView": [{ "@odata.type": "microsoft.graph.event" }],
"calendars": [ {"@odata.type": "microsoft.graph.calendar"} ],
"contacts": [ { "@odata.type": "microsoft.graph.contact" } ],
"contactFolders": [ { "@odata.type": "microsoft.graph.contactFolder" } ],
"createdObjects": [ { "@odata.type": "microsoft.graph.directoryObject" } ],
"directReports": [ { "@odata.type": "microsoft.graph.directoryObject" } ],
"drive": { "@odata.type": "microsoft.graph.drive" },
"drives": [ { "@odata.type": "microsoft.graph.drive" } ],
"events": [ { "@odata.type": "microsoft.graph.event" } ],
"inferenceClassification": { "@odata.type": "microsoft.graph.inferenceClassification" },
"mailFolders": [ { "@odata.type": "microsoft.graph.mailFolder" } ],
"manager": { "@odata.type": "microsoft.graph.directoryObject" },
"memberOf": [ { "@odata.type": "microsoft.graph.directoryObject" } ],
"messages": [ { "@odata.type": "microsoft.graph.message" } ],
"outlook": { "@odata.type": "microsoft.graph.outlookUser" },
"ownedDevices": [ { "@odata.type": "microsoft.graph.directoryObject" } ],
"ownedObjects": [ { "@odata.type": "microsoft.graph.directoryObject" } ],
"photo": { "@odata.type": "microsoft.graph.profilePhoto" },
"registeredDevices": [ { "@odata.type": "microsoft.graph.directoryObject" } ]
}
In order to return a specific set of properties, you need to list each of them in your $select
statement. You cannot use a wildcard (*
) to retrieve the entire set. The simpliest method is to start with the default $select
and add the aditional properties you're looking for:
$select=businessPhones,displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id
Upvotes: 5