Microsoft graph API 中的一个或多个属性包含无效值

One or more properties contains invalid values in Microsoft graph API

我想在 Azure Active Directory B2C 上创建用户,我按照给定的 link Here

中的每个步骤进行操作

URL :- https://graph.windows.net/testinggmail.onmicrosoft.com/users?api-version=1.6

类型:- POST

Header :-

 Authorization:Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IlNTUWRoSTFjS3ZoUUVEU0p4RTJnR1lzNDBRMCIsImtpZCI6IlNTUWRoSTFjS3ZoUUVEU0p4RTJI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzBkZjk3YTliLTQ3MDAtNDY5NS05ZjUyLWNkYzJiYzljMTk2Ny8iLCJpYXQiOjE1MjA4Mzg4OTAsIm5iZiI6MTUyMDgzODg5MCwiZXhwIjoxNTIwODQyNzkwLCJhaW8iOiJZMk5nWU9pNFg3NXh3NGJGcTNYMnFaMmVkZW44T1FBPSIsImFwcGlkIjoiYjc2MDFmOTktYjFiZS00YWQ0LTljMmMtYTVlNzBiYmZkNWNhIiwiYXBwaWRhY3IiOiIxIiwiZV9leHAiOjI2MjgwMCwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvMGRmOTdhOWItNDcwMC00Njk1LTlmNTItY2RjMmJjOWMxOTY3LyIsIm9pZCI6IjhlNTQwMmViLTRkNTMtNDc5Ny1iOWRjLWFlOGJmMzRmMTE4MCIsInJvbGVzIjpbIkRldmljZS5SZWFkV3JpdGUuQWxsIiwiRGlyZWN0b3J5LlJlYWQuQWxsIiwiTWVtYmVyLlJlYWQuSGlkZGVuIiwiRGlyZWN0b3J5LlJlYWRXcml0ZS5BbGwiLCJEb21haW4uUmVhZFdyaXRlLkFsbCIsIkFwcGxpY2F0aW9uLlJlYWRXcml0ZS5Pd25lZEJ5IiwiQXBwbGljYXRpb24uUmVhZFdyaXRlLkFsbCJdLCJzdWIiOiI4ZTU0MDJlYi00ZDUzLTQ3OTctYjlkYy1hZThiZjM0ZjExODAiLCJ0ZW5hbnRfcmVnaW9uX3Njb3BlIjoiQVMiLCJ0aWQiOiIwZGY5N2E5Yi00NzAwLTQ2OTUtOWY1Mi1jZGMyYmM5YzE5NjciLCJ1dGkiOiJTYVU5Y3psb3kweW51NnNueUhVUkFBIiwidmVyIjoiMS4wIn0.YQf6dWra1jua8XMHdqqqd5vrpVUxil_6YMM00drLl9LmOchUY7AtPOXF6T_p7Bmf2BwOWL02bsm7VJCM5cx_TD0cMzbOr4uybmyJJvDqfi1whvgOWbDnY_J9ArJWQMuk7jPIBPS_WT8UYsmM_ivRmcQcRxZtcYCrAaWWOJFeWFVucJFz9G-ld0qi4TU10-Qk9_owREDoitlwYEZwEzSUU-HauDCkjNVzDNhefXrjlJHMzXcsJMnVyX7txkZpiqcsM8H-2EKbFmavT4fN05zUh1Hy6hSLnKv24uDyB3hf2qEZvOaygDUPFRcbFSWH39yp698FGh9Ayr8vHr9wLRHHdA
Content-Type:application/json

请求Body:-

 { 

    "accountEnabled": true,
    "signInNames": [                            
        {
            "type": "emailAddress",             
            "value": "joeconsumer@gmail.com"
        }
    ],
    "creationType": "LocalAccount",           
    "displayName": "Joe Consumer",              
    "mailNickname": "joec",                     
    "passwordProfile": {
        "password": "P@ssword!",
        "forceChangePasswordNextLogin": false 
    },
    "passwordPolicies": "DisablePasswordExpiration"
}

回复:-

{
    "odata.error": {
        "code": "Request_BadRequest",
        "message": {
            "lang": "en",
            "value": "One or more properties contains invalid values."
        },
        "date": "2018-03-12T07:24:13",
        "requestId": "fef2037f-8c6f-4190-8c5a-727dcccde5eb",
        "values": null
    }
}'

一些 API 工作正常,例如 GetUsersTokenAcuire但没有创建用户我用谷歌搜索它也有很多解决方案但对我没有用 link 在这里还有什么 我已经尝试 Here 如果我按照创建单独的 Direcotry 的步骤进行操作,那么我会收到“权限不足,无法完成操作”的错误。

我有一个类似的问题,我通过将 Content-Type 设置为 application/json 来解决这个问题。

关于 SO 也有同样的问题 here。基本上他的错误是他使用了 Azure Active Directory 经典 (B2B)。

这种使用 Azure AD Graph API 的用户创建适用于 Azure AD B2C:

Beginning with version 1.6, Graph API supports creating local and social account users for Azure Active Directory B2C tenants.

如果您尝试将此 Azure AD Graph API 请求用于普通 Azure AD 租户,它将收到与您的相同的错误信息。

因此,请确保您要查询的租户是B2C租户:

尝试使用B2C租户的全局管理员(例如username@b2ctenant.onmicrosoft.com)获取token。然后使用head中的token来使用API :

要求:

 POST https://graph.windows.net/myorganization/users?api-version=1.6

正文Content-Type:application/json:

{ 

    "accountEnabled": true,
    "signInNames": [                            
        {
            "type": "emailAddress",             
            "value": "joeconsumer@gmail.com"
        }
    ],
    "creationType": "LocalAccount",           
    "displayName": "Joe Consumer",              
    "mailNickname": "joec",                     
    "passwordProfile": {
        "password": "P@ssword!",
        "forceChangePasswordNextLogin": false 
    },
    "passwordPolicies": "DisablePasswordExpiration"
}

希望对您有所帮助!