sinaWeiBo

来自于:官方

auth cancelAuth sendRequest getUserInfo

概述

sinaWeiBo封装了新浪微博开放平台的sdk,使用此模块可实现新浪登陆、分享消息到新浪微博账号等功能。大大缩短了新浪微博集成到app的流程,更加方便快捷。weibo 模块是 sinaWeiBo 模块的优化版,建议使用 weibo 模块,此模块已停止更新。

使用此模块之前需先配置config文件的Feature,方法如下:

  1. 名称:sinaWeiBo
  2. 参数:urlScheme
  3. 描述:配置新浪微博专用的URL Scheme,使得本应用可以启动新浪微博客户端,并与之交换数据,同时可以从新浪微博客户端返回到本应用
  4. 配置示例:
  5. <feature name="sinaWeiBo">
  6. <param name="urlScheme" value="wb1132217156" />
  7. <param name="apiKey" value="1132217156" />
  8. <param name="registUrl" value="http://www.apicloud.com" />
  9. </feature>
  10. 字段描述:
  11. 1param-urlScheme:声明此字段为URL Scheme类型
  12. 2param-value:对应urlScheme类型的值。通过新浪微博开放平台申请appId,再加上‘wb’前缀构成
  13. 3param-apiKey:声明此字段为apiKey类型
  14. 4param-value:对应从新浪开放平台申请的appKey
  15. 5param-registUrl:声明此字段为registUrl类型
  16. 6param-value:对应在新浪开放平台申appkey时填写的的回调url

sinaWeiBo - 图1 sinaWeiBo - 图2

auth

授权

auth({params}, callback(ret, err))

params

apiKey:

  • 类型:字符串
  • 默认值:无
  • 描述:从新浪开放平台申请的key,可为空,若为空则从当前widget的config文件读取

registUrl:

  • 类型:字符串
  • 默认值:无
  • 描述:在新浪开放平台填写的回调url,可为空,若为空则从当前widget的config文件读取

isAuth:

  • 类型:布尔
  • 默认值:true
  • 描述:是否登录授权,可为空,若为false则仅注册,分享消息只需注册,获取用户信息需登录授权

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status:true //操作成功状态值
  3. accessToken:'' //token字符串
  4. userID:'' //userID字符串
  5. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. }

示例代码

  1. var sinaWeiBo = api.require('sinaWeiBo');
  2. sinaWeiBo.auth(function(ret, err) {
  3. if (ret.status) {
  4. api.alert({
  5. title: '微博授权',
  6. msg: '授权成功'
  7. });
  8. } else {
  9. api.alert({ msg: '授权失败' + err.msg });
  10. }
  11. });

补充说明

授权

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

cancelAuth

登出当前账号

cancelAuth(callback(ret, err))

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status:true //操作成功状态值
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg: "" //错误描述
  3. }

示例代码

  1. var sinaWeiBo = api.require('sinaWeiBo');
  2. sinaWeiBo.cancelAuth(function(ret, err) {
  3. if (ret.status) {
  4. api.alert({ msg: '登出成功' });
  5. } else {
  6. api.alert({ msg: err.msg });
  7. }
  8. });

补充说明

登出当前已授权账号

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

sendRequest

发表内容

sendRequest({params}, callback(ret, err))

params

contentType:

  • 类型:字符串
  • 默认值:无
  • 描述:发表的内容类型(详见内容类型常量),不能为空

text:

  • 类型:字符串
  • 默认值:无
  • 描述:文本内容,contentType为text时不能为空

imageUrl:

  • 类型:字符串
  • 默认值:无
  • 描述:图片url地址,仅支持本地图片,contentType为image时不能为空

media:

  • 类型:JSON 对象
  • 默认值:无
  • 描述:多媒体内容,contentType为text或image时可以为空

内部参数:

  1. {
  2. title //多媒体标题,字符串类型,不能为空
  3. description //多媒体描述,字符串类型,不能为空
  4. thumbUrl //多媒体缩略图本地路径,字符串类型,不能为空
  5. musicUrl //音乐网页url,字符串类型,contentType为music时不能为空
  6. videoUrl //视频网页url,字符串类型,contentType为video时不能为空
  7. webpageUrl //网页url,字符串类型,contentType为web_page时不能为空
  8. }

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status:true //操作成功状态值
  3. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. code:0 //错误码(详见错误码常量)
  3. msg:"" //错误描述
  4. };

示例代码

  1. //当contentType为music,video或webpage时,内容地址不能为流媒体地址;
  2. var sinaWeiBo = api.require('sinaWeiBo');
  3. sinaWeiBo.sendRequest({
  4. contentType: 'video',
  5. text: '这里是测试的内容',
  6. imageUrl: 'fs://a.png',
  7. media: {
  8. title: '多媒体标题',
  9. description: '多媒体描述',
  10. thumbUrl: 'fs://b.png',
  11. videoUrl: 'http://v.ku6.com/show/ZgeIWrUgvfSuDN_fl_qNsQ...html'
  12. }
  13. }, function(ret, err) {
  14. if (ret.status) {
  15. api.alert({
  16. title: '发表微博',
  17. msg: '发表成功',
  18. buttons: ['确定']
  19. });
  20. } else {
  21. api.alert({
  22. title: '发表失败',
  23. msg: err.msg,
  24. buttons: ['确定']
  25. });
  26. }
  27. });
  28. //当contentType为text或image时,多媒体内容可以为空;
  29. var sinaWeiBo = api.require('sinaWeiBo');
  30. sinaWeiBo.sendRequest({
  31. contentType: 'text',
  32. text: '这是测试用的文本',
  33. imageUrl: 'fs://a.png'
  34. }, function(ret, err) {
  35. if (ret.status) {
  36. api.alert({
  37. title: '发表微博',
  38. msg: '发表成功',
  39. buttons: ['确定']
  40. });
  41. } else {
  42. api.alert({
  43. title: '发表微博',
  44. msg: '发表失败',
  45. buttons: ['确定']
  46. });
  47. }
  48. });

补充说明

由于新浪微博SDK目前暂不完全支持iPad分享,发表音乐、视频等内容时有可能不成功

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

getUserInfo

获取用户账户信息

getUserInfo({params}, callback(ret, err))

params

token:

  • 类型:字符串
  • 默认值:当前已登录账号的token
  • 描述:登录账号获取的token值,可为空

uid:

  • 类型:字符串
  • 默认值:当前已登录账号的userid
  • 描述:登录账号获取的userid,可为空

callback(ret, err)

ret:

  • 类型:JSON 对象

内部字段:

  1. {
  2. status:true //操作成功状态值
  3. userInfo:'' //获取的用户信息,json对象
  4. }

err:

  • 类型:JSON 对象

内部字段:

  1. {
  2. msg:"" //错误描述
  3. };

示例代码

  1. var sinaWeiBo = api.require('sinaWeiBo');
  2. sinaWeiBo.getUserInfo(function(ret, err) {
  3. if (ret.status) {
  4. api.alert({ msg: '获取成功' });
  5. } else {
  6. api.alert({ msg: err.msg });
  7. }
  8. });

补充说明

需先登录

可用性

iOS系统,Android系统

可提供的1.0.1及更高版本

内容类型 错误码

内容类型

内容类型

取值范围:

  • text //文本
  • image //图片
  • music //音乐
  • video //视频
  • web_page //网页

错误码

错误类型

取值范围:

  • 0 //没有错误
  • 1 //用户取消
  • 2 //发送失败
  • 3 //授权失败
  • 4 //取消安装
  • 5 //不支持
  • 6 //未知错误