【问题标题】:Microsoft Live custom C# REST API error 415Microsoft Live 自定义 C# REST API 错误 415
【发布时间】: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) 的手册,这应该可以工作。但是,文档不是很详细。

有谁知道我为什么不断收到错误消息?

谢谢!

【问题讨论】:

    标签: c# .net api rest


    【解决方案1】:

    没关系,我是个白痴……

    毕竟它确实有效。在这个之后我做了另一个请求。那一个失败了,因为我没有在那里包含参数。

    【讨论】:

      猜你喜欢
      • 2015-02-19
      • 2014-10-11
      • 2012-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 2014-05-11
      • 2021-11-01
      相关资源
      最近更新 更多