我已经生成了与Cisco FMC Spec文件相关的类,并且一切似乎都是正确的。但是,该指令需要POST才能获取应包含X-auth-access-token
头值的HTTP头。我的理解是,我应该在之后的所有请求上使用我获得的标头作为对以下API调用的响应。但是我已经测试并添加了一个成功的例子。
https://fmcurl.site.com/api/fmc_platform/v1/auth/generatetoken
我已使用以下AutoRest命令生成命名空间,
autorest --csharp --input-file=fmc.json --namespace=CiscoFmcApi --add-credentials
我现在的理解是,实际上我不需要add-credentials
,因为我只需要令牌即可。我以后可以解决。
我已经搜索了名称空间,但找不到与执行此操作的任何方法相关的任何内容。 fmc.json
文件上都没有。
获取上面generatetoken
URL的标题不是问题,但这是最佳路径吗?有什么我不知道的幻想方法吗?
我的问题是,如何使用生成的autorest客户端,但始终使用不同的HttpHeaders或向默认HttpHeaders添加一些内容?
这是代码。我试过在谷歌搜索后不知道有多少种组合,但是没有一种有效。最后一个是您可以在代码中看到的TokenCredentials。
BasicAuthenticationCredentials fmcCredentials = new BasicAuthenticationCredentials()
{
UserName = FmcUsername,
Password = FmcPassword
} ;
// Create token
//TokenCredentials tokenCredentials = new TokenCredentials("<token>");
// Add token and server url to service instance
var apiSvc = new CiscoFirepowerManagementCenterOpenAPISpecification(new Uri(FmcAddress), fmcCredentials);
var ftdDevices = apiSvc.GetAllDevice();
我总是得到401未经授权的结果。
有任何提示吗?
谢谢