最近梅干又沉淪在Facebook應用程式開發的泥沼中,感覺還好玩的,Adobe官方也有提供了一些範例讓人下載,再先前已完成申請,因此今天梅干就為各位來介紹第一個範例,該不會是Hello~Facebook嗎?當然不是,今天要介紹的是如何透過Flex,來取得Facebook使用者登入後的資訊,由於Adobe官方的範例只抓取姓名而已,所以梅干花了點時間,稍為改造一下,讓它可以抓到更多的資訊,如:出生年月日、大頭照、姓名、居住地、興趣….等,而且只要短短的幾行碼就搞定了喔!
Step1
先由此下載Api:http://code.google.com/p/facebook-actionscript-api/,開啟一個新檔案,先將剛所下載的放到該專案下,再將下方的原始碼貼入,分別把API_KEY、SECRET_KEY改成自已的。
getUserInfo.mxml
<?xml version=“1.0” encoding=“utf-8”?>
mx:Script
import com.facebook.Facebook;
import com.facebook.events.FacebookEvent;
import com.facebook.net.FacebookCall;
import com.facebook.data.users.FacebookUser;
import com.facebook.data.users.GetInfoData;
import com.facebook.commands.users.GetInfo;
import com.facebook.utils.FacebookSessionUtil;
import com.facebook.commands.users.GetInfo;
import com.facebook.data.users.GetInfoFieldValues;
private var fbook:Facebook;
private var session:FacebookSessionUtil;
private var API_KEY:String = “xxxx”;
private var SECRET_KEY:String = “xxxx”;
private function init():void {
session=new FacebookSessionUtil(API_KEY, SECRET_KEY, loaderInfo);
session.addEventListener(FacebookEvent.CONNECT, onConnect);
fbook=session.facebook;
}
private function onConnect(e:FacebookEvent):void {
if(e.success){
status.text = “Facebook API 已就續”;
}
}
//已登入Facebook
private function doneLoggingIn():void {
session.validateLogin();
}
private function getUserInfo():void {
var getInfo:GetInfo = new GetInfo(new Array(session.facebook.uid), new Array( GetInfoFieldValues.ALL_VALUES ));
var fbCall:FacebookCall = session.facebook.post(getInfo);
fbCall.addEventListener( FacebookEvent.COMPLETE, fbGetInfoCompleteHandler, false, 0, true );
}
private function fbGetInfoCompleteHandler(e:FacebookEvent):void
{
var getInfoData:GetInfoData = e.data as GetInfoData;
var fbUser:FacebookUser = getInfoData.userCollection.getItemAt(0) as FacebookUser;
//取得圖片與使用名稱
userAlumb.source = fbUser.pic_square;
userName.text += fbUser.name;
}
Setp2
在54行設定中斷點,再點那隻小金龜,進入debug模式,再點一下getInfoData,就會看到裡面有一堆密密碼碼關於使用的資料。
範例中梅干只抓使用的姓名與大頭照,而各位可依自已的需求,去抓取所要的相關資訊,當發佈完後,得先點一下1.開啟登入畫面,登入完畢後,點一下2.表示已登入,再按下3.取得相關資料,這時就會自動抓取出該使用的相關資料,因此各位若有製作活動時,就可從中取得參加的活動的年齡層、性別、居住地….等,有助於日後的分析。
[範例下載] ※解壓縮密碼:minwt.com