Azure 调用图形API时出错:请求\u DataContractVersionMissing
我正在尝试向Azure AD GraphAPI发出POST请求,以在我的AD B2C租户中创建一个用户,但出现以下错误Azure 调用图形API时出错:请求\u DataContractVersionMissing,azure,azure-ad-b2c,azure-ad-graph-api,Azure,Azure Ad B2c,Azure Ad Graph Api,我正在尝试向Azure AD GraphAPI发出POST请求,以在我的AD B2C租户中创建一个用户,但出现以下错误 "Error Calling the Graph API: { "odata.error": {"code": "Request_DataContractVersionMissing", "message": {"lang": "en", "value": "The specified api-version is invalid. The value must exa
"Error Calling the Graph API:
{
"odata.error": {"code": "Request_DataContractVersionMissing",
"message": {"lang": "en",
"value": "The specified api-version is invalid. The value must exactly match a supported version"}
}
我确实发送了该版本,并且基于支持的版本
版本1.6
本节列出了Graph API 1.6版的更改
Graph API 1.6版引入了以下功能更改:
添加了对Azure Active Directory B2C本地帐户用户的支持。这涉及到用户实体的新属性和新的复杂类型
SignInName以支持本地帐户登录Azure Active Directory
B2C租户。有关Azure Active Directory B2C的更多信息,
请参阅Azure Active Directory B2C文档
[编辑]
提交的json
{"accountEnabled":true,"signInNames":[{"type":"userName","value":"ausername"}],"creationType":"LocalAccount","displayName":"A display name","passwordProfile":{"password":"a password","forceChangePasswordNextLogin":true},"passwordPolicies":"policies","country":"MX","givenName":"Fstname","surename":"Lstname","department":"Dpt","jobTitle":"Title","mail":"mail@server.com","otherMails":[],"preferredLanguage":"es-MX"}
有没有关于我为什么会出错的线索?我发现了一个问题:
signInName
notsignInName
api版本查询参数有问题: 缺少数据协定版本参数。将api版本作为查询参数包含在所有请求中 不起作用 -版本=1.6 提交时,我收到
请求\u DataContractVersionMissing
错误
确实有效
区别在于连字符。一个是我在键盘上输入的“正常”的。另一个
我怀疑这是一个复制粘贴问题(我过去曾遇到过这些问题)。对于未来的读者,我在graph.windows.net的2.0中遇到了这个问题,但不是连字符。如果用于获取graph.windows.net资源令牌的客户端ID不正确,则似乎也会显示此错误。感谢您的注意,我在代码中进行了更改,但与当前问题无关,您是否将其设置为数组?(不仅仅是更改名称)您可以共享提交的完整json吗?(明显更改密码等)@spottedmahn我已将有效负载添加到问题中。我尝试提交您的json,但为资源“用户”的属性“PasswordPolicys”指定的值
无效。
我删除了密码策略,而我得到的属性“mail”是只读的,无法设置。
我删除了邮件,我得到了指定的一个或多个属性值无效。
听起来是可行的,但我没有复制粘贴值,直到我出于好奇试图检查我在编写代码时是否出错。您是否尝试通过在其上键入并重试来替换连字符?