繁体   English   中英

.net桌面Facebook SDK用户令牌

[英].net desktop facebook sdk UserToken

我正在尝试编写一个简单的Facebook桌面应用程序(C#WPF)。 该程序应显示的唯一内容是用户时间轴。 我对.net Facebook sdk(v 6.0)相当陌生。 我已经在sdk网站和Facebook开发人员网站上阅读了很多文档。 到目前为止,除一件事外,其他一切听起来都很清楚。 我在整个登录过程中遇到了大问题。 当我在开发人员网站上阅读时,我需要获取用户访问令牌才能获取用户的“私有”数据。 如sdk网站上所述,获取此类令牌的唯一方法是使用正确的URI打开浏览器并从中检索令牌。 这真的是唯一的方法吗? 我不想打开浏览器或类似的东西。 没有办法将用户名和密码发送到某种Web服务或任何获取令牌的方法吗? 有谁知道我如何在没有浏览器的情况下获得令牌?

亲切的问候曼纽尔

无需打开浏览器。 只需在表单中嵌入一个WebBrowser控件并将其设置为不可见即可。

向Navigated事件添加处理程序:

 webBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webBrowser1_Navigated);

并从服务器获取答案:

这段代码是一年前完成的 ,我不知道他们是否更改过API,但是效果很好。

void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
{
            string Url = e.Url.AbsoluteUri.ToString();
            if (Url.StartsWith("https://www.facebook.com/connect/login_success.html"))
            {
                if (Url.Contains("#") && Url.Contains("access_token="))
                {
                 AccessToken = Url.Substring(Url.IndexOf("access_token=") + 13 , Url.Length - Url.IndexOf("access_token") -13);
                    if (AccessToken.Contains("&"))
                    {
                    AccessToken = AccessToken.Substring(0, AccessToken.LastIndexOf("&"));   
                    }    
                } 
            }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM