我正在尝试通过Web应用程序从内部进行facebook打开图形api调用。我正在使用Web请求 像这样的C#请求。
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)错误请求。
我如何解决此错误。我通过在堆栈溢出中看到一些响应来做上述事情,但仍然得到错误。我哪里出错?
答案 0 :(得分:2)
因为令牌有一些特殊字符(+,/,==)
这听起来很奇怪......通常访问令牌包括字母,数字和管道符号。
如果您使用无效的访问令牌发出请求(不是意味着已过期,而是根本无法解码的令牌),那么您将获得400响应。
中检查您的令牌