Facebook访问令牌从网站cookie使用新的OAuth和C#
好吧,所以我见过这个问题,但还没有找到一个简单的答案,工程。Facebook访问令牌从网站cookie使用新的OAuth和C#
用户来到我的网站,并已使用标准的Facebook登录对话框“授权”我的网站/应用程序 - 使用oauth。
在返回我的网站时,用户在他的机器上有一个以“fbsr_%”开头的cookie - 从我正在阅读的内容中可以看出这是“代码”。
我现在想要做的是抓住这个cookie服务器端,打电话给Facebook,从我发现我应该打电话:“https://graph.facebook.com/oauth/的access_token?CLIENT_ID = {0} & REDIRECT_URI = {1} & client_secret = {2} &代码= {3}”
然后接收回的accessToken ...
我想接收的接入令牌而不必在客户端上重定向用户。所以到目前为止,我所得到的结果如下,并且从我所收集的内容来看,它应该是可行的,但对我而言,它总是给我一个错误:“远程服务器返回错误:(400)错误的请求。”
string url = "https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}";
string redirectUri = "http://www.mysite.com/";
string code = Request.Cookies["fbsr_" + clientId].Value;
WebRequest request = WebRequest.Create(string.Format(url, clientId, redirectUri, clientSecret, code));
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader streamReader = new StreamReader(stream, encode);
string accessToken = streamReader.ReadToEnd().Replace("access_token=", "");
streamReader.Close();
response.Close();
任何帮助,将不胜感激
现在,Facebook的需要SSL应用程序的 “REDIRECT_URI” 必须HTTPS(即https://apps.facebook.com/myapp/),otherwhise你会得到 “错误的请求”。
的“REDIRECT_URI”,为的access_token(https://graph.facebook.com/oauth/access_token)需要相同作为请求,要求用户登录并连接到您的应用程序代码时(https://graph.facebook.com/oauth/authorize或https://www.facebook.com/dialog/oauth),否则您将得到相同的错误“错误请求”。
的Facebook只需要画布应用SSL。目前尚不清楚安德烈的应用程序是一个画布应用程序,连接或本地客户端。 –
我有同样的问题: - 有人请帮助!我已经确保网站。 –
是的,我已经看到这与redirect_uri只是http,而不是https。但是,即使在redirect_uri字符串完全匹配时,这个400错误也正在发生。 –