【发布时间】:2014-09-24 09:31:25
【问题描述】:
我正在尝试从 Microsoft Live API 获取数据。但是,当我尝试获取 access_token 时,却收到 415(不支持的媒体类型)错误消息。我几乎到处寻找,但找不到任何答案(对我有用)。
这是我尝试获取令牌的(部分)代码(dataToWrite 为便于阅读而被分割,它是实际代码中的一行):
WebRequest request;
request = WebRequest.Create("https://login.live.com/oauth20_token.srf");
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
var dataToWrite = "code=[code]&
client_id=[client_id]&
client_secret=[client_secret]&
redirect_uri=[redirect_uri]&
grant_type=authorization_code";
var buffer = Encoding.ASCII.GetBytes(dataToWrite);
request.ContentLength = buffer.Length;
var dataStream = request.GetRequestStream();
dataStream.Write(buffer, 0, buffer.Length);
dataStream.Close();
var response = request.GetResponse();
var responseStream = response.GetResponseStream();
“[]”在哪里:
- [code]是一个字符串,微软在用户登录后给出的(这部分代码有效);
- [client_id] 是一个字符串,由 Microsoft 提供,代表我的客户端 ID;
- [client_secret] 是一个字符串,由 Microsoft 提供,代表我的客户端密码;
- [redirect_uri] 是网站返回位置的 URL(与用户同意代码中使用的 URL 相同(参见 [code]))
根据 Microsoft Live API(http://msdn.microsoft.com/en-us/library/live/hh243647.aspx) 的手册,这应该可以工作。但是,文档不是很详细。
有谁知道我为什么不断收到错误消息?
谢谢!
【问题讨论】: