- Mobile Apps - Facebook 開發人員
- facebook/facebook-ios-sdk - GitHub
- iPhone FBConnect: Facebook Connect Tutorial
- 讓 iOS App 與 Facebook 連接
- Facebook API 備忘(二)
- iPhone 開發教學 - 發訊息到 Facebook 塗鴉牆上!使用 Facebook Connect 架構
- [How TO]把facebook iphone sdk導入你的iphone app(1)
- [How TO]把facebook iphone sdk導入你的iphone app(2)
簡單來說,有兩件事情要做
- 學習使用 Facebook iOS SDK
- API有哪些?要怎麼使用?
Facebook iOS SDK其實就是幫你搞定這些事情,預設會開啓Safari或fb外掛來display login畫面,其中還包含了permission確認,如果上述兩項無法使用,則改用SDK裡面自己刻的dialog。使用者login後會拿到auth token,之後access API都要靠它。Request包成callback形式,接到response再做對應的事情。資料格式也幫你parse成NSData格式,存取相當方便。
SDK下載按這裡
稍微整理SDK使用方式 (不同時期的SDK使用方法不太一樣,下面敘述的是2011/7的版本)
- 專案設定
- 把FBConnect source複製到自己的專案
- 新增key value到*.plist,這部份比較難行容,請直接參考下圖
- 程式碼
- import "FBConnect/FBConnect.h"
- 宣告Facebook物件,參數為AppID
- Call authorize()來作認證的事情,參數為想存取的permission,程式執行到這裡login dialog會跑出來
- 在AppDelegate.m需加入Facebook::handleOpenURL,這樣使用者在dialog輸入完以後才會返回原本的app
- 準備fbDidLogin() function,上一步返回時若login成功就會call此function,到此為止已經拿到access token了
Facebook *facebook = [[Facebook alloc] initWithAppId:APP_ID];
NSArray *permissions = [[NSArray arrayWithObjects: @"read_stream", @"read_friendlists", nil] retain]; [facebook authorize:permissions delegate:self];
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { NSLog(@"handle open url"); return [viewController.facebook handleOpenURL:url]; }
- (void)fbDidLogin { NSLog(@"login success"); NSLog(@"token=[%@]\nexpire=[%@]", facebook.accessToken, facebook.expirationDate); }
- 發送request & 接收response
- 例如想要拿使用者基本資料 (me指的是current user,詳細請參考GraphAPI)
- 當拿到結果的時候request: didLoad()會被call,在此我們直接把接收到的資料列舉出來,return的data type會因call的API而有所不同
[facebook requestWithGraphPath:@"me" andDelegate:self];
- (void)request:(FBRequest *)request didLoad:(id)result { /* Enum all */ for (id key in result) { id value = [result objectForKey:key]; NSLog(@"%@: %@", key, value); } }
沒有留言:
張貼留言