0

这是我的代码:

string url = "https://myOrg.api.crm.dynamics.com";
string apiVersion = "9.1";
string webApiUrl = $"{url}/api/data/v{apiVersion}/";
var authParameters = AuthenticationParameters.CreateFromResourceUrlAsync(new Uri(webApiUrl)).Result;

我的最后一行代码失败了: 在此处输入图像描述

输出是:

MyAPITest.vshost.exe 错误:0:20​​19 年 11 月 5 日 19:20:17:-AuthenticationParameters:System.ArgumentException:响应中应有未经授权的 Http 状态代码 (401) 参数名称:响应抛出异常:'System.AggregateException ' 在 mscorlib.dll 中程序 '[5556] MyAPITest.vshost.exe' 已退出,代码为 -1 (0xffffffff)。

作为参考,我正在尝试使用快速入门指南连接到 Common Data Service。

编辑:在查看我看到的细节时: 在此处输入图像描述

错误

底层连接已关闭:发送时发生意外错误。

该错误下方的更多详细信息:

无法从传输连接读取数据:现有连接被远程主机强行关闭。

4

2 回答 2

0

AuthenticationParameters:System.ArgumentException:响应中应有未经授权的 Http 状态代码 (401)

该错误通常是因为它缺少有效的身份验证凭据,并且请求尚未应用于目标资源。

此外,如果您不知道,AuthenticationParameters.CreateFromResourceUrlAsyncAPI 已过时,请在此处阅读更多内容。

考虑到这一点,我会考虑使用应该使用的AuthenticationParameters.CreateFromUrlAsync(Uri) 方法。它向没有提供的 url 发送 GET 请求Authenticate header如果收到 401 Unauthorized,此帮助程序将解析 WWW-Authenticate 标头以检索权限和资源。

于 2019-11-05T19:45:43.923 回答
0

这是在指南中找到的问题:

在此处输入图像描述

我正在运行 VS 2015。一旦我取消选中它,它就可以完美运行。

于 2019-11-18T21:46:02.227 回答