.net desktop facebook sdk UserToken
本文关键字:UserToken sdk facebook desktop net | 更新日期: 2023-09-27 18:33:16
我正在尝试编写一个简单的Facebook桌面应用程序(C# WPF)。程序唯一应该显示的是用户时间线。我对.net Facebook sdk(v 6.0)很陌生。我已经在 sdk 网站和 Facebook 开发者网站上阅读了很多文档。到目前为止,除了一件事之外,一切听起来都很清楚。我对整个登录的事情有很大的问题。当我在开发人员网站上阅读时,我需要获取用户访问令牌才能获取用户的"私有"数据。如 sdk 站点所述,获取此类令牌的唯一方法是使用正确的 URI 打开浏览器并从中检索令牌。这真的是唯一的方法吗?我不想打开浏览器或类似的东西。是否无法将用户名和密码发送到某种Web服务或其他任何东西来获取令牌?有没有人知道如何在没有浏览器的情况下获取令牌?
亲切问候曼努埃尔
无需打开浏览器。只需在窗体中嵌入一个 WebBrowser 控件并将其设置为不可见。
将处理程序添加到已导航事件:
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("&"));
}
}
}
}