【问题标题】:Facebook Access Token from Website cookie using new OAuth and C#使用新的 OAuth 和 C# 来自网站 cookie 的 Facebook 访问令牌
【发布时间】:2011-09-05 22:07:34
【问题描述】:

好的,所以我看到有人问过这个问题,但找到了一个简单的有效答案。

用户访问我的网站,并且已经使用标准的 facebook 登录对话框“授权”了我的网站/应用程序 - 使用 oauth。

返回我的网站后,用户在他的机器上有一个以“fbsr_%”开头的 cookie - 从我正在阅读的内容来看,这被认为是“代码”。

我现在想做的是在服务器端获取这个 cookie,从我发现我应该调用的内容中调用 facebook:“https://graph.facebook.com/oauth/access_token ?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}"

然后收回访问令牌...

我希望无需在客户端重定向用户即可接收访问令牌。所以到目前为止我所拥有的如下,从我收集的内容来看,它应该可以工作,但对我来说,它总是给我一个错误“远程服务器返回错误:(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();  

任何帮助将不胜感激

【问题讨论】:

    标签: c# facebook facebook-graph-api


    【解决方案1】:

    现在 Facebook 要求应用程序使用 SSL,您的“redirect_uri”需要为 https(即https://apps.facebook.com/myapp/),否则您将收到“错误请求”。

    access_token (https://graph.facebook.com/oauth/access_token) 的“redirect_uri”需要与请求需要用户登录和连接到您的应用程序(https://graph.facebook.com/oauth/authorize 或 https://www.facebook.com/dialog/oauth),否则您将收到相同的错误“错误请求”。

    【讨论】:

    • facebook 仅需要用于 Canvas 应用的 SSL。目前尚不清楚 Andre 的应用是画布应用、连接还是原生客户端。
    • 我也有同样的问题 :-D 有人请帮忙!!我已经保护了网站。
    • 是的,我已经看到这与 redirect_uri 一起工作,它只是 http,而不是 https。但是这个 400 错误发生在我身上,即使 redirect_uri 字符串完全匹配。
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    • 2021-09-13
    相关资源
    最近更新 更多