使用 WPF 创建简单的 Facebook 应用程序






4.79/5 (34投票s)
2007年8月16日
3分钟阅读

220440

9436
以下文章详细介绍了如何使用 Facebook Platform & WPF 创建一个非常简单的 Facebook 应用程序。

引言
Facebook
的发展速度惊人(已经注册了 3000 万用户,每 6 个月翻一番)。新的 Facebook
平台是一个令人难以置信的软件平台,可以使用提供的 SDK 轻松扩展。以下 Code Project 文章介绍了如何为 Facebook
创建一个非常简单的 MSN Messenger 或 Yahoo! Messenger 类型的应用程序。
在本文中,我将概述如何设置您的 Facebook
应用程序,并编写一个非常基本的 WPF 应用程序,该应用程序连接到 Facebook
并填充您的好友列表。
设置 Facebook
访问 开发者网站。

- 点击“开始使用”
- 添加
Facebook
开发者应用程序 - 登录
Facebook
- 添加开发者应用程序
- 设置新应用程序
- 应用程序名称:WPFB(在这里您可以选择任何名称,只要它不包含单词 Face)
- 点击复选框同意许可协议,并展开可选字段
- 将应用程序类型更改为桌面(这非常重要!)
- 提交

保留 API 密钥和秘密,以备后用。
这里 讨论了披露您的应用程序的密钥是否合法。
创建一个简单的 UI
从 这里 下载 Facebook
SDK 二进制文件。
创建一个 WPF 应用程序,并将 Image
和 ListBox
控件添加到 StackPanel
中。
<StackPanel>
<Image x:Name="ProfilePicture"Stretch="None"HorizontalAlignment=
"Left"VerticalAlignment="Top"/>
<ListBox x:Name="FriendsListBox"/>
</StackPanel>
将以下引用添加到您的项目中
- Facebook.dll
- Facebook.Controls.dll

此外,添加以下命名空间
using Facebook.Components; //FacebookService
using Facebook.Exceptions;
using Facebook.Entity; //User
using System.Windows.Media.Imaging; //BitmapImage
using System.Collections.ObjectModel; //Collection
接下来,我们必须创建 Facebook
服务的实例。
FacebookService service;
现在,我们还需要使用之前记录的 API 密钥和秘密来设置服务。 我目前在我的 Window 的构造函数中执行此操作。
service = new FacebookService();
service.IsDesktopApplication = true;
service.ApplicationKey = "1969299cd5b87513af9633715e0a63e9";
service.Secret = "5b3ff1b88c41eb117014f403e5cb9952";
现在我们准备开始从 Facebook
获取信息了。 要从 Facebook
下载我的个人资料图片,请将以下代码添加到 Window 的 SourceInitialized
事件中。
User me = service.GetUserInfo();
if (me != null)
ProfilePicture.Source = new BitmapImage(me.PictureSmallUrl);
这基本上是从指定的 URL 下载小的个人资料图片。 现在是保存和测试您的项目的好时机。 一旦您编译并运行了此应用程序,就会显示以下登录屏幕

我还注意到,如果您位于 HTTP 代理服务器后面,则此功能目前不起作用。 我得到一个“底层连接已关闭”异常。 希望 Facebook
SDK 的未来版本将包括对代理服务器的支持,并允许您通过使用一个可以提供用户名和密码的函数而不是显示基于 HTML 的登录屏幕来登录...
填写您的用户名和密码,现在点击登录。 您应该会看到一个显示您的个人资料图片的窗口!
下一步是将 ListBox
填充我的所有朋友。 要从 Facebook
获取所有朋友,请将以下代码添加到 SourceInitialized
事件中
Collection<User> friends = service.GetFriends();
使用以下 DataTemplate
更新朋友的 ListBox
。
<ListBox x:Name="FriendsListBox" ItemsSource="{Binding}">
<ListBox.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Path=PictureSmallUrl}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
最后一步是将 ListBox
指向 friends
集合。
FriendsListBox.ItemsSource = friends;
结论
如您所见,设置和创建一个简单的 Facebook
应用程序并不难。 在接下来的几天里,我将在此基础上进行扩展并更新应用程序。 计划的未来扩展将包括
- 来自
Facebook
的通知 - 更多支持换肤的“精美 UI”,以及
- 双击好友后的发送消息功能

只需稍加努力和快速的美化润色,最终的应用程序看起来就是这样! (我借用了 Sacha Barber 的 Glass Button 效果用于 friends
图标)
请评论我如何改进我的文章(因为这只是我的第二篇文章),也请评价这篇文章(即使您认为它毫无用处!)
链接
历史
- 2007 年 8 月 13 日 - 初稿