微博、微信原生SDK的封装总结

这个月初对社交分享提出了新的要求,不再使用第三方封装的,要求使用使用微博、微信原生的SDK进行封装,尽量把数据掌握在自己手里。于是开始查看相关平台的文档和demo自己封装。现对封装过程进行一个总结,给自己提个醒。

对于授权和分享,微博和微信都是采用requestresponse的方式,发送请求,接收响应,而且都是采用代理的形势。不方便二合一,建议添加block,把微博和微信的授权和分享都做成回调的形势,这样便于二合一。

微博封装的总结: appkey和重定向URL必不可少。按照文档的步骤设置urlscheme。微博授权的时候返回这是基本的用户信息,如果想要获得具体的用户信息,还需要调用

+ (WBHttpRequest *)requestForUserProfile:(NSString *)aUserID 
                         withAccessToken:(NSString *)accessToken 
                      andOtherProperties:(NSDictionary *)otherProperties
                                   queue:(NSOperationQueue *)queue
                   withCompletionHandler:(WBRequestHandler)handler 

才能返回具体的用户信息。而分享时则有两种形式,一种是直接分享到微博账号,一种是唤起微博的客户端发送微博的页面进行微博的发布。微博SDK提供的发表一个微博的方法是直接发送到账号的。如下:

+ (WBHttpRequest *)requestForShareAStatus:(NSString *)statusText 
                       contatinsAPicture:(WBImageObject *)imageObject 
                             orPictureUrl:(NSString *)url 
                          withAccessToken:(NSString *)accessToken
                       andOtherProperties:(NSDictionary *)otherProperties
                                    queue:(NSOperationQueue *)queue
                    withCompletionHandler:(WBRequestHandler)handler;

唤起微博的客户端发送微博的方法,微博SDK没有直接提供,需要自己打包微博消息,然后调用发送接口。如下:

  WBSendMessageToWeiboRequest *weiboRequest = [WBSendMessageToWeiboRequest requestWithMessage:messageObject authInfo:nil access_token:self.accessToken]; 
 [WeiboSDK sendRequest:weiboRequest];

分享到微博的文本内容,如果包含链接,需要对文本内容进行url编码。这样链接才能正常显示。

温馨提示:未登录的微博,登录以后就停留在微博客户端,并没有出现授权界面,与微信有所不同。以下两种情况可在登录以后出现授权页面进行授权:
1、iOS7 的系统的版本可以登录成功以后接着进行授权。
2、微博客户端退出账号以后后自动弹出登录页面,如果把登录页面关闭,再从其他app要求进行微博授权,这个时候登录完成以后是可以接着授权的。(我在iOS9.2.1上实验的结果,仅供参看)
所以微博的授权最好在微博账号登录以后进行授权,才能保证授权成功。

微信封装的总结:微信授权时的scopestate都需要正确赋值,以免权限不够或者授权不成功。微信授权获取个人信息需要三步。

  • 1、向微信发送授权请求
  • 2、拿授权请求返回的code,再去请求openidaccesstoken
  • 3、再拿第二步请求返回的openidaccesstoken去请求个人信息。

温馨提示:第二步和第三步并无直接的接口,只是提供了url和参数,需要自己包装。
微信分享的时直接按文档或者是照着demo来就行了。需要注意的的是各个参数的大小限制,微信对很多参数的大小有要求,例如:文本内容和图片的大小等。分享到微信好友时,缩略图的大小一定不能超过32k,超过的话分享时无法打开微信。因此需要对分享到会话的缩略图进行压缩处理,以保证其不超过32k。

以上只是我在进行微博、微信原生SDK接入app时,遇到的一些问题的总结。如有问题欢迎探讨,欢迎微博@蓝光95_176.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,946评论 0 15
  • 卷一片桃花,留恋, 诀别尘世缘。 忘忧忘情忘今愁, 斩断了牵挂,颤抖。 了却浮云缘, 为何为何为哪番? 转一念,梦...
    LovLe阅读 284评论 0 2
  • 公子白洛阅读 79评论 0 0
  • 摩羯男在自己的周围筑起了一堵砖墙。 他怕羞,但又强壮耐劳。 他快活,但又雄心勃勃。 他就像传奇中沉着而朴实的牛仔。...
    浮生梦一场阅读 662评论 0 0
  • 主题是什么? 求助。 事件是什么? 在听一个音频。其中内容是遇见困难你会求助吗?你认为求助是强者还是弱者,你会向谁...
    Deing阅读 207评论 2 2