iOS6新特征:Social Framework 参考之SLRequest
来源:互联网 发布:linux修改locale 重启 编辑:程序博客网 时间:2024/06/15 10:14
<!--[if !supportLists]-->1.1. <!--[endif]-->SLComposeViewController类参考
说明:关于 SLComposeViewController 的详细使用说明,请参考下面的链接
iOS6新特征:Social Framework 参考之SLComposeViewController
iOS6新特征:SLComposeViewController[新浪微博]使用示例
<!--[if !supportLists]-->1.2. <!--[endif]-->SLRequest类参考继承自
NSObject
符合
NSObject (NSObject)
框架
/System/Library/Frameworks/Social.framework
可用性
iOS6以及之后
声明在
Social/SLRequest.h
<!--[if !supportLists]-->1.2.1. <!--[endif]-->概述SLRequest对象封装了一个HTTP请求的属性,为你创建请求提供了一个方便的模板。你可以发送一个请求至社交网络服务中,来代表用户执行一些操作或者获取用户信息。
HTTP请求有一些通用的组件:一个HTTP请求的方法(GET,POST,DELETE),一个URL来确定要执行的操作,一组查询参数,以及用一个可选的多字段POST body来包含附加信息。这些属性的值依赖于你所发送的请求和目标服务提供者。参考所支持的社交网络站点文档,以获知可能的值。在表2-1中是文档的链接。
使用requestForServiceType:requestMethod:URL:parameters:函数,根据具体的参数,初始化一个新的请求对象。使用addMultipartData:withName:type:方法有选择性的指定一个多字段POST body。当创建好请求之后,使用performRequestWithHandler:方法发送请求,并指定一个handler,当请求完成的时候该handler会被调用。如果你已经有了一个发送机制,可以使用preparedURLRequest方法来创建一个请求,这样就可以通过NSURLConnection对象来发送请求。如果请求需要用户授权,那么给account属性设置一个ACAccount对象。
表2-1 Social Services各自文档网站链接
https://developers.facebook.com/docs/
Sina Weibo
http://open.weibo.com/wiki/
https://dev.twitter.com/docs
<!--[if !supportLists]-->1.2.2. <!--[endif]-->任务初始化请求+ requestForServiceType:requestMethod:URL:parameters:
根据具体的参数,初始化一个新的请求对象。
访问属性account属性
用于授权请求的账号信息。
requestMethod属性
请求使用的方法。
URL属性
请求的目的URL。
parameters属性
请求使用到的参数。
发送请求– performRequestWithHandler:
执行一个异步请求,并且当请求结束的时候调用指定的handler。
– preparedURLRequest
返回一个授权URL请求,可以使用NSURLConnection对象来发送该请求。
– addMultipartData:withName:type:
为请求指定多字段POST body。
<!--[if !supportLists]-->1.2.3. <!--[endif]-->属性account用于授权请求的账号信息
@property (nonatomic, retain) ACAccount *account
讨论
account用于登录一个OAuth1服务或者为OAuth2服务添加一个access token。与请求相关的account,token是自动添加进去的。account的默认值是nil。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
Parameters请求的参数。(只读)
@property (nonatomic, readonly) NSDictionary *parameters
讨论
使用这个属性来查找HTTP请求的查询参数,这些参数是在requestForServiceType:requestMethod:URL:parameters:方法里设置的。可能出现的值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
requestMethod请求使用的方法。(只读)
@property (nonatomic, readonly) SLRequestMethod requestMethod
讨论
使用这个属性来查找HTTP请求的方法,这个方法是在requestForServiceType:requestMethod:URL:parameters:方法里设置的。可能使用的值在“SLRequestMethod”里有描述。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
URL请求的目的URL。(只读)
讨论
使用这个属性来查找HTTP请求的URL,这个属性是在requestForServiceType:requestMethod:URL:parameters:方法里设置的。可能使用的值在“SLRequestMethod”里有描述。可能出现的值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
<!--[if !supportLists]-->1.2.4. <!--[endif]-->类方法requestForServiceType:requestMethod:URL:parameters:根据具体的参数,初始化一个新的请求对象
+ (SLRequest *)requestForServiceTypeNSString *)serviceType requestMethod
SLRequestMethod)requestMethod URL
NSURL *)url parameters
NSDictionary*)parameters
参数
serviceType
社交网络服务类型。“Service Type Constants”给出了可能的值。
requestMethod
HTTP请求的方法。“SLRequestMethod” 给出了可能的值。
url
HTTP请求的目的URL。URL的值和格式值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。
parameters
HTTP请求的参数。参数的值和格式值依赖于目标服务,并且服务提供商会有相关文档。表2-1可以链接到所支持服务的相应的文档。
返回值
新初始化的请求对象。
讨论
使用这个方法来始初化SLRequest。每个参数的值和格式依赖于目标服务。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
<!--[if !supportLists]-->1.2.5. <!--[endif]-->实例方法addMultipartData:withName:type:为请求指定多字段POST body。
- (void)addMultipartDataNSData *)data withName
NSString *)name type
NSString*)type
参数
data
多字段POST body的data,例如图片或者文字。
name
多字段POST body的name,通常用来指定你post的data类型。
type
多字段POST body的type,通常用来指定使用多字段数据的类型。
讨论
可能用到的参数值依赖于目标服务。这些信息以及使用多字段POST body的指导可以在服务提供商的文档中查看,表2-1可以链接到所支持服务的相应的文档。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
performRequestWithHandler:执行一个异步请求,当请求结束时,调用指定的handler。
- (void)performRequestWithHandlerSLRequestHandler)handler
参数
handler
当请求结束时,handler会被调用。这个handler的参数在SLRequestHandler里有描述。这个参数不保证被任意的线程调用,并且不能为nil。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
preparedURLRequest返回一个授权的URL请求,可以使用NSURLConnection对象进行发送。
- (NSURLRequest *)preparedURLRequest
返回值
一个OAuth-compatible NSURLRequest对象,允许应用程序代替用户来保存用户的密码。默认情况下,NSURLRequest使用OAuth1进行登录,或者使用OAuth2(在用户account中添加适当的token)。
讨论
在发送之前,使用这个方法来修改请求内容。如设置正确的account,这个方法会自动的添加需要用到的token。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
<!--[if !supportLists]-->1.2.6. <!--[endif]-->常量Service Type ConstantsserviceType参数可能的值
NSString *const SLServiceTypeFacebook;
NSString *const SLServiceTypeTwitter;
NSString *const SLServiceTypeSinaWeibo;
常量
SLServiceTypeFacebook
字符串常量,用来标示Facebook社交网站
可用于iOS6.0以及之后
声明在SLRequest.h
SLServiceTypeTwitter
字符串常量,用来标示Twitter社交网站
可用于iOS6.0以及之后
声明在SLRequest.h
SLServiceTypeSinaWeibo
字符串常量,用来标示Weibo社交网站
可用于iOS6.0以及之后
声明在SLRequest.h
SLRequestMethod
标示请求中用到的请求方法。
typedef NS_ENUM(NSInteger,
SLRequestMethod) {
SLRequestMethodGET,
SLRequestMethodPOST,
SLRequestMethodDELETE
};
常量
SLRequestMethodGET
从指定的资源请求信息。使用GET请求方法从指定的服务中获取信息,例如字符限制或用户时间表。
可用于iOS6.0以及之后。
声明在SLRequest.h。
SLRequestMethodPOST
提交数据以进行处理。使用POST请求来提交信息至指定的服务中,例如状态的更新或者一张图片。
可用于iOS6.0以及之后
声明在SLRequest.h
SLRequestMethodDELETE
删除指定的资源。
可用于iOS6.0以及之后。
声明在SLRequest.h。
讨论
使用这些常量来设置requestMethod属性。使用的请求方法依赖于目标服务。表2-1可以链接到所支持服务的相应的文档。
SLRequestHandler请求的回调handler
typedef void(^SLRequestHandler)(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error);
讨论
这个handler的参数如下:
responseData
请求返回的数据。这个数据的格式取决于目标服务。
urlResponse
请求返回的数据,包含了HTTP响应代码。
error
错误标示
可能使用到的值依赖于目标服务,服务提供商会在相关文档中说明。表2-1可以链接到所支持服务的相应的文档。
可用性
可用于iOS6.0以及之后
声明在
SLRequest.h
(转载:米咔门户)
- iOS6新特征:Social Framework 参考之SLRequest
- iOS6新特征:Social Framework 参考之SLRequest
- iOS6新特征:Social Framework 参考之SLComposeViewController
- iOS6新特征:UIActivityViewController类参考
- iOS6新特征:UIActivityViewController类参考
- IOS6新特征
- ios6 新特征
- ios6 新特征
- ios6 新特征
- iOS6新特征
- IOS6新特征
- IOS6新特征
- IOS6新特征
- iOS6新特征汇总
- iOS6新特征:UICollectionView高级使用示例之CircleLayout
- iOS6新特征:UICollectionView高级使用示例之CircleLayout
- iOS6新特征:UICollectionView高级使用示例之CircleLayout
- iOS6新特征:UICollectionView高级使用示例之CircleLayout
- 举例说明ListView的用法
- iOS6新特征:UIActivityViewController类参考
- QT C++与QML 交互的那些事 之(你的就是我的我的就是你的)
- 项目管理
- 10 个很有用的 jQuery 弹出层提示插件
- iOS6新特征:Social Framework 参考之SLRequest
- 第11 题 求二叉树中节点的最大距离...
- 入职菜鸟从“Hello World” 开始,水滴石穿。
- 5月份最受欢迎的 14 个新的 jQuery 插件
- 动态规划——Hdu_1003_Max Sum
- 利用谷歌接口实现基站定位
- 10 个基于 jQuery 的 Web 交互插件推荐
- 没有gmttime&localtime api调用,怎么办?
- UltraEdit使用技巧