第三方登录及分享帮助文档

发布时间 : 星期一 文章第三方登录及分享帮助文档更新完毕开始阅读

第三方登录及分享帮助文档

修订日期

日期 2013.11.8

版本 V1.0 初稿 说明 作者 许友爻 1.概述

1.1.文档说明

本文档定义了新浪微博第三登录,QQ第三方登录,新浪微博分享的使用说明、体系结构、API 接口,所有接口必需在联网状态下才能正常使用。其适用的读者为android软件工程师,通过阅读本文档,读者可以掌握如何使用第三方登录及微博分享功能。

2.使用说明 2.1.开发说明

1. 使用第三方服务,需要经过第三平台的授权,请到分别到http://open.voicecloud.cn 和http://connect.qq.com/manage/login注册成为新浪及QQ互联的开发者,并为所开发的软件申请appid;

2. 如果开发者申请了appid,只需要在Demo中的com.oauthTest.utils.ConfigUtil.java中配置appid和appSecret即可实现本文档描述的功能。如果需要详细的了解这一切的原理步骤,请参考程序Demo和以下文档。

2.2.支持平台

1. 支持Android 1.6 及以上版本系统;

2.3.类属性介绍

1.com.oauthTest.utils.ConfigUtil.java(配置信息)

属性名 sina_client_id sina_client_secret sina_Authoriz_url sina_Access_token_url sina_redirect_uri qq_client_id qq_client_secret qq_Authoriz_url qq_redirect_uri String String String String String 新浪获取令牌成功后回调的地址(默认即可, 原理就是新浪带上令牌参数访问此地址) QQ互联上所申请应用的APP ID (更改为自己应用) QQ互联上所申请应用的App Key(更改为自己应用) QQ互联获取应用授权地址(默认即可,只需一步,授权成功即返回令牌) QQ互联授权成功回调的地址(默认即可,原理就是QQ互联带上令牌参数访问此地址) sharePreferencesName String tokenInfo oauthInter Object BaseSNS SharedPreferences的文件名,应用授权通过后,返回的令牌信息以键对值的关系存于本地这个文件中 应用授权通过后,返回的令牌信息以javabean对象封装后内存中保存的变量 当前操作的社交网站对象(新浪和QQ互联) 属性类型 String String String String 属性解释 新浪上所申请应用的App Key(更改为自己应用) 新浪上所申请应用的App Secret(更改为自己应用) 新浪获取应用授权的地址(默认即可) 新浪获取令牌信息的地址(默认即可) 2. com.oauthTest.servicemodel.SinaTokenSM(新浪令牌信息)

属性名 access_token expires_in uid 属性类型 String long String 属性解释 用于调用access_token,接口获取授权后的access token。 access_token的生命周期,单位是秒数。 当前授权用户的UID。 3. com.oauthTest.servicemodel.SinaTokenSM (QQ令牌信息)

属性名 access_token expires_in uid 属性类型 String Long String 属性解释 用于调用access_token,接口获取授权后的access token。 access_token的生命周期,单位是秒数。 当前授权用户的openid。 4. com.oauthTest.servicemodel.GeoSM(地理信息)

属性名 longitude latitude city province city_name province_name address pinyin more 属性类型 string string string string string string string string string 属性解释 经度坐标 维度坐标 所在城市的城市代码 所在省份的省份代码 所在城市的城市名称 所在省份的省份名称 所在的实际地址,可以为空 地址的汉语拼音,不是所有情况都会返回该字段 更多信息,不是所有情况都会返回该字段 5. com.oauthTest.servicemodel.UserSM(用户信息)

属性名 id idstr screen_name name province city location description url profile_image_url profile_url domain weihao gender followers_count friends_count statuses_count favourites_count created_at allow_all_act_msg geo_enabled verified remark allow_all_comment avatar_large 属性类型 int64 string string string int int string string string string string string string string int int int int string boolean boolean boolean string boolean string 属性解释 用户UID 字符串型的用户UID 用户昵称 友好显示名称 用户所在省级ID 用户所在城市ID 用户所在地 用户个人描述 用户博客地址 用户头像地址,50×50像素 用户的微博统一URL地址 用户的个性化域名 用户的微号 性别,m:男、f:女、n:未知 粉丝数 关注数 微博数 收藏数 用户创建(注册)时间 是否允许所有人给我发私信,true:是,false:否 是否允许标识用户的地理位置,true:是,false:否 是否是微博认证用户,即加V用户,true:是,false:否 用户备注信息,只有在查询用户关系时才返回此字段 是否允许所有人对我的微博进行评论,true:是,false:否 用户大头像地址 verified_reason follow_me online_status bi_followers_count lang string boolean int int string 认证原因 该用户是否关注当前登录用户,true:是,false:否 用户的在线状态,0:不在线、1:在线 用户的互粉数 用户当前的语言版本,zh-cn:简体中文,zh-tw:繁体中文,en:英语 6.com.oauthTest.servicemodel.SinaWeiBoSM(新浪微博信息)

属性名 created_at id mid idstr text source favorited truncated in_reply_to_status_id in_reply_to_user_id in_reply_to_screen_name thumbnail_pic bmiddle_pic original_pic geo user reposts_count comments_count attitudes_count 属性类型 string int64 int64 string string string boolean boolean string string string string string string object object int int int 属性解释 微博创建时间 微博ID 微博MID 字符串型的微博ID 微博信息内容 微博来源 是否已收藏,true:是,false:否 是否被截断,true:是,false:否 (暂未支持)回复ID (暂未支持)回复人UID (暂未支持)回复人昵称 缩略图片地址,没有时不返回此字段 中等尺寸图片地址,没有时不返回此字段 原始图片地址,没有时不返回此字段 地理信息字段 详细 微博作者的用户信息字段 详细 转发数 评论数 表态数 2.4.原理详解

2.4.1.新浪第三方登录

第一步:首先使用WebView打开授权界面。

第二步:进入授权界面后,用户在授权界面输入新浪账号和密码后点击授权或登录获取此用户的授权,授权获取成功后。返回code和state参数。

第三步:然后通过访问指定地址请求token(令牌)信息。返回令牌信息后。令牌信息中有一个uid的字段,这个字段相对于授权的应用是唯一的,也就是说它下次对本应用授权后,返回的uid值

还是一模一样的,所以这时我们只要保存这个UID即可。通过这个UID来关联自己的本地应用的用户信息,这样第三方登录就实现了。

详细介绍:

1. 请求用户授权:http://open.weibo.com/wiki/Oauth2/authorize

2. 通过code换取token(令牌)信息: http://open.weibo.com/wiki/Oauth2/access_token

2.4.2.

QQ第三方登录

第一步:首先使用WebView打开授权界面,进入授权界面,

第二步:用户在授权界面输入QQ账号和密码后点击授权或登录获取此用户的授权,授权成功后就会立刻返回token(令牌)信息,这相对于新浪少了一步。

详细介绍:

获取token(令牌)信息:

http://wiki.opensns.qq.com/wiki/???QQ??????????????¨Implicit_Grant??1???è?·???Access_Token

2.4.3.新浪微博分享

通过令牌信息中的access_token字段,发布微博。发布微博时,首先要判断access_token是否存在或者过期?如果是,则弹出重新获取应用授权的界面。 详细介绍:

http://open.weibo.com/wiki/2/statuses/update

联系合同范文客服:xxxxx#qq.com(#替换为@)