【发布时间】:2017-07-16 04:08:09
【问题描述】:
User login endpoint (POST Method)
https://developer.api.yodlee.com/ysl/restserver/v1/user/login
示例输入
cobrandName 作为路径参数传递
cobSession 作为 Authorization Header 传递
登录名和密码作为表单参数传递
cobrandName = 联合品牌的名称
loginName=testuser
密码=Yodlee123
授权:{cobSession=06142010_1:6666b4df326b8a26d6263054bdc4d1725d075230a082b8059ad7c20777b65d836b4eaa2dbf69169a448162c0ea09223012f1450934cee191
所以这是示例数据 api 数据。我已经为我自己的服务器的 api 做了很多帖子,但从来没有添加标题.. 有点困惑?
var httpClient = new HttpClient();
var json = JsonConvert.SerializeObject(t);
HttpContent httpContent = new StringContent(json);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
//httpContent.Headers.Add()
var result = await httpClient.PostAsync(WebServiceUrl, httpContent);
var RegisterResponse = await result.Content.ReadAsStringAsync();
CobrandLoginModel TheObject = JsonConvert.DeserializeObject<CobrandLoginModel>(RegisterResponse);
我可以拨打我的第一个电话并填充模型。但随后我需要使用 sessionid(token) 再次发送,但我需要将其插入标题中。我返回的 sessionid 将是下一个 postasync 的授权 id。
我认为正确的方法是这样的
httpClientUser.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("userSession", TheObject.session.cobSession);
我在正确的轨道上吗??
我需要创建 HttpContent httpContent = new StringContent(json);
我如何创建格式
我需要发送 3 个参数 我需要添加返回的 sessionid 的授权头吗?
谢谢
编辑
这是我正在学习的网址 https://developer.yodlee.com/Yodlee_API/Getting_Started
需要添加参数 需要添加一个身份验证头 然后发帖
更新
我已经结束了这个
var httpClientUser = new HttpClient();
var UserJson = JsonConvert.SerializeObject(newuser);
HttpContent httpContentUser = new StringContent(UserJson);
httpContentUser.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var createTheToken = "cobSession=" + TheObject.session.cobSession;
var check = httpClientUser.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Authorization", "{" + createTheToken + "}");
var CompleteResult = await httpClientUser.PostAsync(YodleeUserLoginUrl, httpContentUser);
var RegisterResponseUser = await CompleteResult.Content.ReadAsStringAsync();
YodleeUserModel LoggedInUser = JsonConvert.DeserializeObject<YodleeUserModel>(RegisterResponseUser);
它仍然不起作用...在 ARC 上使用相同的凭据我可以获得响应。
但通过应用程序传递值不起作用
【问题讨论】:
标签: httpclient dotnet-httpclient