开放平台博客

【技术发布】人人网开放平台iOS SDK 正式发布

2011-05-12 分类: 技术发布  

iOS SDK是可以让第三方应用使用OAuth2.0 用人人网账号登录授权,调用人人API接口的objective-c SDK。
SDK功能介绍:

    1.SDK使用OAuth2.0的User-Agent Flow

    2.调用人人API接口

iOS SDK结构包括:

   Renren.h
     Renren.m
     Request.h
     Request.m
     RRConnect.h
     RRDialog.h
     RRDialog.m
     RRLoginDialog.h
     RRLoginDialog.m
     等文件和JSON 解析文件

如何使用iOS SDK?

  1.   请将以上iOS文件复制到你的Xcode工程下

  2.   在Xcode下右键点击你的Xcode工程代码Group,从弹出的菜单中选择Add ->      Existing Files,从而加入你需要的代码。

  3.   如果需要设置包含路径,请正确设置。(一般不需要)

  4.   在你的代码中,需要时包含调用SDK的头文件:

        #import "RRConnect.h"

 

如何在你的应用中使用iOS SDK 实现人人网帐号基于OAuth2 登录授权认证?

  1. 首先, 在你的应用委托里面创建一个实例:

  Renren *renren 和
  Renren类实例化的属性:
  property (nonatomic, retain) Renren *renren;

  2.  你可以在应用程序委托application:didFinishLaunchingWithOptions:方法或是在视图加载的viewDidLoad方法时,
  创建一个Renren实现初始化一个方法
  renren = [[Renren alloc] initWithAppKeyAndId:@"YOUR_APP_KEY" andAppId:@"YOUR_APP_ID"];
  YOUR_APP_KEY和YOUR_APP_ID 是你在人人网开放平台开发中心里面注册应用时获取到的api_key和YOUR_APP_ID
 
 3.  [renren isSessionValid]
  这个方法可以判断当前用户是否登录状态
 
 4.  [renren authorize:nil delegate:self];    
  通过这个方法,用户可以进行登录论证授权
  authorize:[授予权限] 如publish_feed photo_upload等
 
  参数默认可以不写,如有多个权限的话,可以这样
  _permissions=[[NSArray arrayWithObjects:@"photo_upload publish_feed",nil] retain];
  [renren authorize:_permissions delegate:self];
 
 5.  你还需要在你的应用中实现几个方法:
  -(void)rrDidLogin  当oauth成功登录后,会回调这个方法,开发者可以做一些后续处理操作

 

如何使用iOS SDK 实现人人API的调用?

1.  人人API的调用需要上一步的用户登录授权,方可调用
2.  此SDK调用api的数据返回格式为JSON串
3.  调用人人API http://wiki.dev.renren.com/wiki/API

例如想调用个人信息的接口:
  NSMutableDictionary* params = [NSMutableDictionary
                       dictionaryWithObjectsAndKeys:
                       @"users.getInfo",@"method",//api参数表中的参数
                       nil];
                      
  [renren requestWithParams:params andDelegate:self];
  其它api调用一样,参照各个api的参数,设置上述的params
  在人人网开放平台提供的api参数表中,
 
  参数列表中,有一些参数是不需要你自己加入的,SDK已经帮你封装完成,如
  session_key
  api_key
  call_id
  sig 
  v
  format
 
4.  调用api接口,你还需要实现几个requestDelegate接口,方便你接收返回的数据和其它信息
  -(void)request:(Request *)request didLoad:(id)result;
   result就是请求人人api接口返回的数据,在此SDK中提供了JSON处理的方法
    SBJSON *parser = [[[SBJSON alloc] init] autorelease];
    [parser stringWithObject:result];
 
  -(void)request:(Request *)request didFailWithError:(NSError *)error;
   请求时发生错误
  
  -(void)request:(Request *)request didReceiveResponse:(NSURLResponse *)response;
   请求过程中返回的一些信息,可以不实现这个方法体

iOS SDK和demo下载可以访问 http://wiki.dev.renren.com/wiki/OpenSource#.E5.93.AA.E4.BA.9B.E4.BB.A3.E7.A0.81.E5.BC.80.E6.BA.90.EF.BC.9F 

 

阅读(39858)