Facebook SDK(iOS)初学讲解
来源:互联网 发布:python开发聊天机器人 编辑:程序博客网 时间:2024/05/16 11:42
Facebook SDK已经升级到3.1.1了,最近使用了其最新的sdk,完成项目内登陆和发帖两个基本功能。这两个功能在Facebook SDK里面已经单独存在了,使用起来非常简单。但是使用Facebook SDK的难点是理解Facebook的构建基础。这里除了将基本的操作外,也说点当前我的理解(也是从官网文档中看的,但理解不一定正确),不过推荐读者还是多去官网自己看吧,毕竟那里是根本。
首先Facebook里面有两种基本类型,一个是对象,一个连接。对象就是指Facebook的人、图片、事件等各种独立单位。连接是指对象间的联系。人有喜好这样一个连接,通过喜好连接,我们能找到人所有喜欢的东西。Facebook将所有的对象通过连接织成社交网络。这是一个Facebook最基本的概念(我觉得)。基于这个社交图(或称社交网络),我们可以通过graph path去访问这个网络内的任何信息,只要你有访问权限。一个人一般有很多connection,如Feed(实时消息),likes,friends。我们可以通过"me/feed“去访问实时消息,也可以发布消息。
//session isn't open, so we have to open it if( ![[FBSession activeSession] isOpen] ) { //open session with write permission if( [FBSession openActiveSessionWithPublishPermissions:[NSArray arrayWithObject:@"publish_actions"] defaultAudience:FBSessionDefaultAudienceEveryone allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) { if( error ) { FACEBOOK_LOG(@"facebook---> openActiveSessionWithPublishPermissions() failed!!!!!!!!!!"); } else { FACEBOOK_LOG(@"facebook---> openActiveSessionWithPublishPermissions() successfully."); } //invokde delegate if( m_pDelegate ) { m_pDelegate->sessionStateChange( session, status, error ); } }] ) { FACEBOOK_LOG(@"facebook---> openActiveSessionWithPublishPermissions() return true."); } else { FACEBOOK_LOG(@"facebook---> openActiveSessionWithPublishPermissions() return false."); return false; } }openActiveSessionWithPublishPermissions()中Facebook的Reference已经讲的很详细了。但其中allowLoginUI很重要,一般就设置为YES,意思是指是否在用户没有登陆的时候弹出登陆界面让用户先登陆。由于Facebook SDK会保留令牌,所以一旦一登陆了,很难重现登陆界面了,因为Facebook会用程序上一次申请的令牌(令牌不依附于程序,及时程序关闭,令牌还是被存放起来)。虽然Facebook SDK里面有closeAndClearToken(),但是这个函数并不一定管用(至少我每次关闭程序是都调用了这个函数,但只有几次提示弹出登陆界面)。
一旦登陆并拥有写权限,我们就可以发消息了。
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: m_pstrLastMessage, @"message", @"http://www.yourweb.com", @"link", @"http://static.ak.fbcdn.net/rsrc.php/v2/y2/r/lpa-16iu9uw.gif", @"picture", @"China star", @"name", @"I love China", @"description", nil]; [FBRequestConnection startWithGraphPath:@"me/feed" parameters:params HTTPMethod:@"POST" completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { if( error ) { FACEBOOK_LOG2( @"facebook---> message( \"%@\" ) posted failed!!!!!!!!!", m_pstrLastMessage ); } else { FACEBOOK_LOG2( @"facebook---> message( \"%@\" ) posted successfully.", m_pstrLastMessage ); } }];一个feed里面会有很多属性(包括必须属性如字符串或者连接,可选属性图片,标题等)。这些可以到Facebook SDK官网查阅,在Graph API一类中。一同的connection对应不同的属性参数,可以去官网查看。
就这两点我们就可以实现Facebook中最常用的功能了。另外很多很多概念还是去官网查阅吧,连着看了3个小时,我看的都已经头疼了,想不到一个Facebook好多概念,特别是网络这方面的。要想全面把握需要很多功夫,以后需要什么功能在查阅吧!
- Facebook SDK(iOS)初学讲解
- Facebook SDK(iOS)初学讲解
- facebook SDK ios 接入
- Facebook iOS SDK(Facebook API类库)
- IOS 植入Facebook SDK --- 分享
- IOS 代理模式初学讲解
- Facebook & Twitter sdk for ios 开发笔记
- ios 新版本 facebook SDK 分享方法
- iOS集成facebook SDK官方文档
- iOS-环信SDK讲解
- 向iOS SDK看齐:Facebook Android SDK迎来重大更新
- Facebook SDK for iOS 2.4 iOS 6 上运行崩溃
- How to use Facebook iOS SDK on iOS 10
- facebook ios sdk 无法登出bug的解决方法
- 初学ios遇到麻烦了,烦请大神讲解
- iOS Facebook
- FaceBook SDK First App
- Facebook Android SDK
- 关于php-fpm占用系统资源分析
- c实现的指数曲线拟合代码
- 面向对象
- 排序算法之一: 基本的选择,插入,冒泡排序
- TOMCAT目录结构详解【5.0系列】
- Facebook SDK(iOS)初学讲解
- 让c更有效率
- YCbCr与YUV的区别
- net_PHP_网站开发方案
- 小遇 ATL
- Walkthrough: Using MSBuild to Create a Visual C++ Project 利用MSBuild创建Visual C++ 工程
- linux ls -l 命令 详解
- Transform – iOS视图几何变换
- linux常用命令(一)