FacebookAppを作る デスクトップ版

デスクトップアプリも作ってみる
Facebook Developer Toolkitを使うと.NET系(C#/C++/VB.NET)でfacebookアプリが作れる
http://www.codeplex.com/FacebookToolkit

dllをbinaryで落としてきて、Facebook.Controls.dllとFacebook.dllを参照に追加して


まず認証してみよう
dllをusingして

using Facebook.API;
using Facebook.Entity;

API_KEYなどを設定

private FacebookAPI api;
api = new FacebookAPI();
api.IsDesktopApplication = true;
api.ApplicationKey = "your-api-key";
api.Secret = "your-api-secret";


認証フォーム開く。メアドとパスワード入れて認証する。WebBrowserControlが埋め込まれた新しいFormがポップアップしてその中でpassword打ち込ませるのでかなり気持ち悪い。普通にフィッシングできると思う。デフォルトブラウザで認証画面出せる方法があったらいいんだが・・・

api.ConnectToFacebook();

適当に例外はcatchする。
眠かったので前述のRails版FacebookApp http://d.hatena.ne.jp/shokai/20080624/1214300680 のapikey&secretを使っていたのに気づかなくて、IPアドレス制限を自分でかけていたのでずっとログインできなくて30分悩んだ。
FacebookApp (Desktop)


ためしに友人リストを取得する。他にGetUser()などもあった

ICollection<User> friends = api.GetFriends();
foreach (User friend in friends)
{
   Console.WriteLine("friend: " + friend.FirstName + friend.LastName);
}

こんな感じで一通りのAPIはwrapされてる。



ちなみに

api.LogOff();

これログオフ出来てない気がする。次回起動時にパスワードフォームすっとばしてAuthToken取って来てた。
なんか使いやすいライブラリだけど細かいところに違和感がある