远程服务器返回错误:(400)错误的请求。
问题描述:
我想通过网络application.I做一个Facebook的Open Graph API调用从内部想提出使用 一个C#的请求这样的Web请求。远程服务器返回错误:(400)错误的请求。
string token = "q2Fe0utty5gzCasPL23...";
string url = "https://graph.facebook.com/me?access_token=" +
HttpUtility.UrlEncode(token) +"&response_type=id";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = newStreamReader(receiveStream,Encoding.UTF8);
string responseData = readStream.ReadToEnd();
_context.SaveChanges();
由于令牌中有一些特殊字符(+,/,==),我一直在使用HttpUtility.UrlEncode(令牌)的编码,但我仍得到以下错误。
远程服务器返回一个错误:(400)错误的请求。
我该如何解决这个错误。我通过在堆栈溢出中看到一些响应来做了上述事情,但仍然出现错误。我在哪里出错了?
答
As the token has some special characters(+,/,==)
这听起来很奇怪......通常访问令牌由字母,数字和管道符号组成。
如果你与一个非有效的访问令牌的请求(没有意思过期,但不能在所有解码的令牌),那么你会得到一个400响应。
所以请在调试工具中检查您的令牌,https://developers.facebook.com/tools/debug