facebook分享(附demo)

想获取Facebook上的资源,要经历登录帐户、请求数据、接收数据三部分:
从官方SDK所给的Demo程序,我们可以了解到,首先要创建Facebook 对象

static NSString *kAppId = @"450051905053297";

facebook = [[Facebook alloc] initWithAppId:kAppId andDelegate:rootVC];

其中,kAppId是注册Facebook后,到Facebook开发者平台申请的appID。(官网有视频说明如何申请:http://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/)

Facebook通过此ID来获取你为Facebook开发的程序的信息。

在plist文件中需要添加如下项目:



-(void)loginFacebook:(id)sender
{
    FirstFbAppDelegate *delegate = (FirstFbAppDelegate *)[[UIApplication sharedApplication] delegate];
    if (![[delegate facebook] isSessionValid])
    {
        [[delegate facebook] authorize:permissions];//弹出登陆facebook的界面
    }
    else
    {
        [self showLoggedIn];//已授权,直接登录
    }
}

点击登录按钮,首先判断是否已经授权,若已授权,则直接显示授权后的操作界面。

进入到这个方法:

[[delegatefacebook] authorize:permissions];//弹出登陆facebook的界面

可以看到:

- (void)authorize:(NSArray *)permissions 
{
    self.permissions = permissions;
    [self authorizeWithFBAppAuth:YES safariAuth:NO];//
}

第一个参数若为YES,如果你的设备安装了facebook app,那么会打开app,询问你是否授权,若为NO,则在你的程序内弹出页面询问是否授权。

 第二个参数若为yes,则在safari浏览器中询问是否授权,否则在你的程序内弹出页面询问是否授权。


 FBSessionDelegate是授权和登出需要用到的代理,在使用弹出框询问授权时,账号密码输入完毕收,会回调:

- (void)fbDidLogin;

在这里,你可以做授权后的操作。

 在弹出框询问是否授权时,左上角有个按钮,是取消授权的,会调用下面的方法:

-(void)fbDidNotLogin:(BOOL)cancelled;

登出时会调用下面的方法:

- (void)fbDidLogout;

分享内容到facebook会调用下面方法:

- (void)dialog:(NSString *)action

    andParams:(NSMutableDictionary *)params

  andDelegate:(id <FBDialogDelegate>)delegate;

具体使用可以参考demo和官方文档:

Demo



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值