`
kerlubasola
  • 浏览: 709874 次
文章分类
社区版块
存档分类
最新评论

关于新浪微博与腾讯微博从Oauth1.0升级到Oauth2.0的过程

 
阅读更多


新浪微博

曾经@微博API 新浪那边表示 旧版的Oauth 1.0a将在不久的2012.9.1号停止。这个是一个很苦逼的消息。意味着涉及微博的都要修改。

Oauth2.0相比较于Oauth1.0的话 流程少了很多,其中一点就是签名。之前都是用signpost这个开源项目辅助。现在完全可以去掉了


好吧。废话不说了。

新浪微博Oauth2.0认证的官方说明

http://open.weibo.com/wiki/Oauth2


简单步骤:1获取code 2获取accessToken 3使用accessToken访问api

新浪的这份授权机制还是比较详细。理解起来比较容易

接口 说明
OAuth2/authorize 请求用户授权Token
OAuth2/access_token 获取授权过的Access Token
OAuth2/get_oauth2_token OAuth1.0的Access Token更换至OAuth2.0的Access Token

步骤1http://open.weibo.com/wiki/Oauth2/authorize

获取code

请求参数

必选 类型及范围 说明
client_id true string 申请应用时分配的AppKey。
redirect_uri true string 授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。
response_type false string 返回类型,支持code、token,默认值为code。
state false string 用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。
display false string 授权页面的终端类型,取值见下面的说明。


https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI

值得注意的是这边的redirect_uri 必须与 申请的应用那边设置(高级设置里面)的回调地址一致。否则就会出现error:redirect_uri_mismatch.

这是网页载入授权界面,用户填完账号密码之后按下确定
服务器将返回一个“回调地址+code=xxxxx”的URL(如果是腾讯微博还有openid和openkey等等)
把code是步骤2的关键

步骤2
获取accessToken

API https://api.weibo.com/oauth2/access_token
将code等参数 以POST传给服务器将返回

 {
       "access_token": "ACCESS_TOKEN",
       "expires_in": 1234,
       "remind_in":"798114",
       "uid":"12341234"
 }

这些数据都是要做数据持久化管理的。
腾讯微博返回稍有不同,但是并不影响

步骤3
访问API



研究中遇到的一些问题
1.腾讯微博 那群脑残的腾讯微博把appke和secret变成 ClientID和ClientSecret

oAuth.setClientId(StatcParame.T_CONSUMER_KEY);
oAuth.setClientSecret(StatcParame.T_CONSUMER_SECRET);

下面直接贴源码了

1
sina
webview承载授权页面的设置

这个方法集合了sina和tencent的处理

这步走完就拿到ACCESSTOKEN了


下面贴个发布微博的方法


SINA发送一个带图片的微博



TENCent发送一条微博



源码之后上传。

联系 zhangnianxiang@gmail.com


分享到:
评论

相关推荐

    腾讯微博,新浪微博SDK 开心网搜狐微博轻量的SDK代码包

    3、新浪微博SDK OAuth1.0 & OAuth2.0 4、开心网API OAuth1.0 & OAuth2.0 5、搜狐微博 OAuth1.0 6、网易微博 OAuth1.0 7、人人网SDK OAuth2.0 8、百度开放平台 OAuth2.0 一库接入所有平台 :) demo目录是演示...

    [QQ,新浪微博,腾讯微博,人人网,开心网,豆瓣]登录接口整合

    在互联网应用中,为了提供用户方便快捷的登录体验,开发者常常会集成多种社交网络平台的登录接口,如QQ、新浪微博、腾讯微博、人人网、开心网和豆瓣等。这些社交平台提供了API(Application Programming Interface)...

    新浪、腾讯、网易、搜狐微博OAuth认证整合Android版

    搜狐微博的OAuth认证基于OAuth1.0a,与以上三家有所不同。开发者在搜狐开放平台注册应用,获取Consumer Key和Consumer Secret。用户授权后,通过Request Token获取Access Token,再进行API调用。 在Android中实现...

    新浪以及腾讯微博绑定

    二、新浪微博API接入 1. 注册开发者账号:首先,你需要在新浪开放平台注册成为开发者,并创建一个应用,获取AppKey和AppSecret。 2. 用户授权:通过OAuth 2.0协议,引导用户跳转到新浪授权页面,用户同意后返回...

    新浪,腾迅,网易微博OAuth统一认证接口实现

    - **版本管理**:不同微博平台可能支持不同版本的OAuth协议,如OAuth 1.0a或OAuth 2.0。开发者需根据平台要求选择合适的版本。 - **错误处理**:在与微博平台交互过程中,可能会遇到各种错误,如网络问题、权限问题...

    新浪、腾讯、人人、认证实例

    本实例涉及的是新浪、腾讯、人人、豆瓣、Facebook和Twitter这些知名平台的认证流程,这涉及到OAuth(开放授权)协议的应用。OAuth是一种允许第三方应用在用户许可的情况下,访问其部分私有资源的标准协议。以下将...

    PJBlog5 v1.0.zip

    PJBlog 5 采用BootStrap的UI设计框架,响应式后台,兼容最新的PC和手机端操作。 ...其中包括Oauth2.0官网,腾讯,新浪微博等等平台OAUTH2.0实例。     相关阅读 同类推荐:博客系统下载

    SocialGame.pdf

    - 国内:新浪微博、腾讯微博、人人网等。 #### Social Game简介 社交游戏(Social Game)是一种结合了社交网络功能的游戏类型。这类游戏充分利用了社交网络的特性和优势,使得玩家不仅可以享受游戏的乐趣,还能与...

    android客户端与SNS网站接入细节备忘录

    本文档主要介绍了在2012年7月期间,针对Android客户端如何与开心网、腾讯微博、新浪微博、人人网等SNS网站进行集成的一些关键点和注意事项。 #### 二、接入前的准备 1. **获取APPID/API Key/Secret Key**:在接入...

    安卓社会化分享第三方登录相关-第三方登录新浪腾讯。人人网(myself).zip

    本压缩包中的资源主要涉及了与新浪、腾讯和人人网这三家社交媒体平台的接口集成,以便用户可以使用这些社交账号快速登录到你的应用程序,实现一键分享内容到他们的社交网络。 一、第三方登录 1. **新浪(Sina)登录*...

    灯鹭社会化多帐号登录插件 for 天天团购 v1.0

    在这个插件中,灯鹭提供了接口和SDK,用于与QQ、人人网、腾讯微博和新浪微博等社交网络进行数据交互,实现用户授权登录。 1. **QQ帐号登录**:通过QQ Open API,用户可以使用自己的QQ账号登录,这需要网站开发者在...

    灯鹭社会化多帐号登录插件 for 天天团购 v1.0.rar

    这款插件主要针对天天团购2.0系统,它的核心功能是集成QQ、人人网、腾讯微博、新浪微博等众多社会化媒体账号。这意味着用户可以利用已有的社交账号轻松登录天天团购,无需再创建新账号或记住复杂的密码,从而简化了...

    聚合通-crx插件

    2012.08.29 重要更新:兼容新微博接口版本,并将程序托管在了chrome应用商店,如果需要支持新浪微博,建议更新;如果要支持搜狐微博,建议不更新2.0.0 2012.08.24 预备升级版本(由于chrome以及sina接口升级,需要...

Global site tag (gtag.js) - Google Analytics