6.腾讯微博Android客户端开发——换取Access Token

腾讯微博Android客户端开发——OAuth认证介绍,事件分发流程 答应大伙的备战金三银四,大厂面试真题来啦!这份资料我从春招开始,就会将各博客、论坛。网站上等优质的Android开发中高级面试题收集起来,然后全网寻找最优的解答方案。每一道面试题都是百分百的大厂面经真题+最优解答。包知识脉络 + 诸多细节。节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。给文章留个小赞,就可以免费领取啦~3000页Android开发者架构师核心知识笔记《960全网最全Android开发笔记》《379页Android开发面试宝典》 阅读详情

本次讲解腾讯微博OAuth认证的最后一步使用授权后的Request Token换取Access Token,当我们获取到Access Token后,我们就可以进行微博平台的资源访问。

照例我们先看下交换access_token的API:

 

交换access_token

URL:https://open.t.qq.com/cgi-bin/access_token

格式:xml,json

HTTPS请求方式:GET

是否需要鉴权:true

请求数限制:true

请求参数:

oauth_callback:回调URL

oauth_consumer_key:你申请的appkey

oauth_nonce:随机串(32个字符长度)

oauth_signature:oauth请求签 名

oauth_signature_method: 签 名方法(HMAC-SHA1)

oauth_timestamp:时间戳

oauth_token: request_token

oauth_version: oauth版本号填(1.0)

oauth_verifier:验证码

 

使用示例如下:

https://open.t.qq.com/cgi-bin/access_token?oauth_consumer_key=0aae7ba5c10d4b939694b0b3b9ffe8ac&oauth_nonce=35885b07fe7dc53942d405e552d086fe&oauth_signature=TXBihj%2FH4avLJaWmjYARDVVCu8M%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1288933101&oauth_token=66ae88faecd14a1f8e826d35d5e857a7&oauth_verifier=335566&oauth_version=1.0

 

返回结果:

oauth_token=ffc37464473e48a2b22226350dc98210&oauth_token_secret=3fe92ec42e936672ceca549d432c237d&name=starjiang

 

返回结果说明:

oauth_token: access_token

oauth_token_secret: access_secret

name: 微博帐户名

说明:

①本步骤用于签名的密钥为App Secret和Request Token Secret(中间使用&分隔)

②获得返回值后就可以使用Access Token来访问资源了。

③Access Token和Access Token Secret永远不会过期,直到用户撤销应用授权或腾讯回收您的app访问权限才会失效。

通过API的我们可知请求URL为https://open.t.qq.com/cgi-bin/access_token,传递的参数个数为9个,但是官方给出的使用示例中传递的参数为8个,其中oauth_callback并未传递,个人认为是API提供错误,因为在前面的请求中我们已经指定了oauth_callback,我编写代码的时候也是没有传递oauth_callback。另外oauth_verifier即为我们在上一节中获取的验证码。同时还有一点要注意的是我们在生成签名的时候密钥是有两部分组成的:App Secret和Request Token Secret,其中Request Token Secret既是我们在获取未授权的Token中的返回值oauth_token_secret的值。

由于我们在请求时需要传递验证码,因此我在界面中添加了一个EditText用来接收用户输入的验证码:

 

同时添加了一个Button用于执行请求,代码如下:

 

在这里要注意的是OAuth中的getPostParams()方法我做了相应的修改,这个会在视频中给大家讲解,这里仅附上代码:

 

通过上面的代码我们就可以获取到Access Token,整个程序执行流程如下图表示:

 

通过上面的流程,我们发现在授权的过程中还需要用户的操作,既手动输入验证码,这样使我们的程序显得非常不友好。我也在参考其它的资料寻找解决方法,现在还找研究中,不管是否成功,在下一节课中会分享下思路,同时也期待各位朋友介绍更好的解决方案。

另外如果认证成功,我们可登陆open.t.qq.com,输入认证QQ账号,然后进入“应用”——“已授权应用”就可以看到我们授权的程序:

 

 

课程下载地址:http://u.115.com/file/e60jb8jl

文档下载地址:http://download.youkuaiyun.com/source/3405215

源码下载地址:http://u.115.com/file/dn4kdfdt

QQ第三方登录完整实例与实现详解 QQ第三方登录基于OAuth 2.0开放授权协议实现,其本质是在用户不泄露账号密码的前提下,允许第三方应用获取有限的用户资源访问权限。该协议包含四个核心角色:资源拥有者(用户)客户端(第三方App)授权服务器(腾讯OAuth Server)和资源服务器(QQ用户资料接口)。授权流程遵循“授权码模式(Authorization Code Flow)”,适用于移动和Web应用,具备高安全性。用户在腾讯授权页面完成登录并同意授权后,系统返回一次性授权码。 阅读详情

相关推荐

Java Swing之多文档界面设计-JDesktopPane、JInternalFrame类简单应用示例

Java MDI多文档界面是一种用户界面风格,允许在一个主窗口中包含多个子窗口(文档窗口),每个子窗口可以显示不同的内容或功能模块,从而可以满足用户打开不同窗口完成不同功能的需求。开发多文档程序,一般需要JDesktopPane(桌面面板类)和JInternalFrame(内部窗体类)两个类。以下简单介绍,最后通过一个实例介绍实现逻辑。

编程语言教学工作者的博客 2209

微信企业号开发之access_token接口调用示例(一)

摘要:在微信企业号开发中,首先需要调用access_token的接口,具体请看官网文档,地址为:https://work.weixin.qq.com/api/doc#10013 第一步:创建企业应用 登录企业管理后台进入“企业应用”页面,通讯录管理是企业微信默认集成的应用,可以直接开启,如果企业需要开发自定义的应用,可点击“添加应用”完成应用的添加和配置,详细步骤请参见应用概述。 ...

https://gitee.com/micai-code 1万+

墨刀原型设计工具操作使用指南及实践操作

该指南通过异常场景处理、像素级参数说明、复杂交互示例,覆盖了墨刀操作的全细节,适合从新手到资深用户的进阶学习。结合 PlantUML 思维导图的层级化展示,可快速定位具体功能的操作要点与问题解决方法,真正实现 “照指南即可操作” 的实用价值。

hy行者勇哥的博客 4946

新浪微博Oauth2.0授权 获取Access Token (续)

http://wenku.baidu.com/view/5a3ab0f9f90f76c661371afc.html 开发 新浪微博Java SDK开发 上面这个页面讲的JAVA 的开发,讲的图文并茂,很详细。主要讲两点容易出现问题的地方。 这是很多文档都没讲到或者认为简单没有写出来的地方吧。供大家参考   第一个地方这个文档中有讲到,在运行OAuth4Code.java时可能会出现异常

sxjk1987的专栏 8051

别再说Fortran过时了!手把手教你用VS Code + gfortran搭建现代开发环境(2024版)

本文打破Fortran过时的刻板印象,详细介绍如何利用VS Code和gfortran搭建现代开发环境。从编译器安装、VS Code插件配置到项目结构标准化,提供完整的2024版跨平台解决方案,并展示Fortran 2023标准的协程、并行计算等现代特性,助力科学计算与高性能开发。

weixin_42629815的博客 239

解决uc浏览器劫持video标签问题

解决uc视频悬浮播放 ,video标签被浏览器劫持 ,vide0适配

smile_y_y的博客 3449

APP登录之access_token详解

WEB开发,登录信息可以通过记录SESSION来进行验证,而在APP开发的过程中,由于无法保存SESSION,所以通过access_token来进行登录验证。如果用户有access_toke,并且正确,则验证通过,否则提示未登录。 操作步骤 流程说明: 生成token的算法可以自己定义,比如: $str = md5(uniqid(md5(microtime(true)), true)); //u...

php小白的奔牛历程 1万+

创客学院嵌入式驱动开发——学习资料汇总

1.创客学院知识巩固-01C语言回顾_C/C++_Set_Mode的博客-优快云博客https://blog.csdn.net/Set_Mode/article/details/94431050 2.创客学院知识巩固-02数据结构_Set_Mode的博客-优快云博客https://blog.csdn.net/Set_Mode/article/details/94431087 3.创客学院知...

snaking616 5116

腾讯微博Android客户端开发——换取Access Token

from: http://www.cnblogs.com/coolszy/archive/2011/06/30/2094200.html本次讲解腾讯微博OAuth认证的最后一步使用授权后的Request Token换取Access Token,当我们获取到Ac

sunvince的专栏 813

【报错】(pycharm运行程序)OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading

1 报错 OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败。 Error loading 2 分析原因 通过 activate Distance 进行自己创建的 Distance 虚拟环境中,输入python会显示环境中python的版本信息,再依次import,显然不会报错。 这是因为在Anaconda的环境下有支持 import torch 的 dll,而在PyCharm中使用的是自己创建的新环境,还缺少相应支持的dll,仅需在PyCharm中配置环境变量。.

静谧、淡雅 8621

PINNACLE:PINN自适应配点与实验点选择算法

PINNACLE算法通过引入动态权重机制,实现了PINN训练点选择的自适应优化。该算法基于对训练过程中不同区域学习需求变化的深入理解,设计了平滑过渡的权重函数,确保了模型在不同训练阶段能够优先学习最需要的区域。理论分析和实验结果均表明,PINNACLE不仅能够保证收敛性,而且能够显著提高PINN的性能。这一算法为物理信息神经网络的应用提供了重要支持,尤其适用于复杂PDE问题的求解。

VectorShift的博客 1136

Android:微信授权登录与微信分享全解析

前言在移动互联网浪潮中,联网APP已经把单机拍死在沙滩上,很多公司都希望自家应用能够有一套帐号系统,可是许多用户却并不一定买账:我凭啥注册你家应用的帐号?微博,微信,QQ几乎成了每个人手机中的必装应用,于是微信,微博,QQ说了:来来来,你们都可以用我家的帐号登录你家应用,只要你遵循OAuth2.0协议标准就行。

MichaelX的专栏 3万+

3、神经网络在汽车中的应用

本文探讨了神经网络在现代汽车中的多种应用,包括防抱死制动系统(ABS)、燃油喷射系统、自动驾驶辅助系统以及发动机故障诊断。通过详细分析这些系统的具体工作流程和神经网络的集成方式,展示了神经网络如何提升车辆的安全性、效率与智能化水平。

moss5的博客 233

Code Animation Prompts Z中国风系列实战:用Z1水墨、Z5剪纸、Z8敦煌做出15种中国风片头

Code Animation Prompts 是一个开源的**中国风代码动画提示词**集合,收录 341 种风格提示词与 196 张参考静帧,其中 Z 中国风系列覆盖水墨、剪纸、敦煌、皮影等 15 种国风风格。把提示词复制给 AI,配合随附的浏览器渲染工具,就能把「一段提示词」变成一段可导出的中国风片头 MP4。 [![Code Animation Prompts 341 种代码动画风格库封面,

gitblog_00702的博客 832

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

微信JS-SDK分享实践

微信JS-SDK分享实践 前题 本篇适用范围: 使用微信JS-SDK接口调用,分享朋友圈、朋友、QQ、QQ空间、腾讯微博等,包括分享链接中带有参数。 说明:在Android和iOS端,分享测试均已通过。 开发准备 已认证公众号。登录微信公众号确认有相关功能使用权限,参见下图 设置JS接口安全域名。确保分享链接域名和设置的安全域名一致 微信公众号中,在【设置—公众...

qq_1332051236的博客 396

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

[转] Android:微信授权登录与微信分享全解析

https://wohugb.gitbooks.io/wechat/content/qrconnent/refresh_token.html http://blog.csdn.net/xiong_it/article/details/48317527 PS: access_token是微信认证成功和微信平台做交互用的,access_token有2小时有效期。如果access_token过期后,...

weixin_34072637的博客 301

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

3.腾讯微博Android客户端开发——算法、编码、辅助方法编写

在腾讯微博API OAuth认证介绍中,我们可以看到关于请求签名的介绍(http://open.t.qq.com/resource.php?i=1,2#tag0):所有TOKEN请求和受保护的资源请求必须被签名,微博开放平台会根据签名来判断请求的合法性。签名算法使用Signature Base String和密钥(Secret)生成签名,参数oauth_signature用于指定签名。这几句话对o

若水 2万+

2.腾讯微博Android客户端开发——Parameter类和SyncHttp类编写

在上一节介绍的OAuth认证过程中我们可以看到我们需要不断地和腾讯微博开放平台进行数据的交互,因此我们需要编写一个类用来发送Http请求,并且能处理平台返回过来的数据。学习Html的朋友应该知道Get和Post两种方式提交数据,在这里我们同样也需要编写Post和Get两个方法模拟Post和Get请求。在发送微博时我们还可以上传照片,所以我们还应编写一个方法用于上传图片,但是在这里暂时还不编写上传数

若水 1万+

1.腾讯微博Android客户端开发——OAuth认证介绍

腾讯微博是一个由腾讯推出,提供微型博客服务的类Twitter网站。在腾讯官方的软件或网站中发布微博我们需要输入QQ号和密码,同样如果我们自己开发客户端给用户使用,我们也需要用户提供QQ号和密码,这就留下了安全隐患。不发分子可以在程序中留下后门,获取QQ号和密码,从而进行违法操作。

若水 1万+

5.腾讯微博Android客户端开发——获取请求用户授权Request Token

腾讯微博OAuth认证第二步是获取请求用户授权的Request Token,今天我们就学习如何获取。说是获取Request Token,其实我们的代码目的就是获取一个验证码,有了这个验证码,我们才可以进行下面的授权验证过程。首先我们学习下获取Request Token的API:用户授权request_token URL:https://open.t.qq.com/cgi-bin/authorize

若水 1万+
上一篇: 《Android开发从零开始》——32.单选复选控件学习
下一篇: 修改Android中strings.xml文件
coolszy
博客等级 码龄19年 2659粉丝 149原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值