最近学习Android的开发,学完书本之后,决定研究如何开发一个微博客户端来实践。第一步当然是用户授权。但是新浪开放平台的说明实在写得不太清楚,用GOOGLE+研读的方法,总算是实验成功了。

这里有别人已经提供好的一份代码和说明

http://www.cnblogs.com/ok-lanyan/archive/2012/07/15/2592070.html

下面的说明没有代码,如果不太明白,直接运行这个项目就行。

这是我自己总结的三步,虽然不是太准确吧,但大概就是这样了。

1.首先去新浪开放平台申请一个应用。

http://open.weibo.com/选择创建应用→然后就是填表了

友情提示:就算是做实验学习,应用介绍也必须要填够字数,不要采用空格代替,不会就会不断报“更新失败”的错误。

申请成功之后就会获得一个appkey和appsecret了。

2.访问指定的授权页面

访问的方式可以采用WebView也可以采用调用外部浏览器。具体可以去网上搜索了。

指定的授权页面格式说明http://open.weibo.com/wiki/Oauth2/authorize

一般采用的内容是

https://api.weibo.com/oauth2/authorize?client_id=APPKEY&response_type=code&redirect_uri=CALLBACK_URL&display=mobile

这个APPKEY就是上面的appkey。

CALLBACK_URL就是授权回调地址,是由你来指定的任何网页都可以,系统也提供了一个默认的地址https://api.weibo.com/oauth2/default.html,但有一条必须遵守,那就是必须在应用管理里面填写授权回调地址和取消授权回调地址与上面的CALLBACK_URL必须一致。

然后采用WebView访问上面的网页就会出现登陆界面了,输入账号密码即可。

3.取得Access_token

再授权成功的前提下,就会回调上面填写的授权回调页面,此时就可以发出HTTPS的POST请求,获取Access_token。

获取Access_token的说明在http://open.weibo.com/wiki/Oauth2/access_token

一般请求的URL为

https://api.weibo.com/oauth2/access_token?client_id=APPKEY&client_secret=APPSECRET&grant_type=authorization_code&redirect_uri=CALLBACK_URL&code=CODE

APPKEY就是appkey

APPSECRET就是appsecret

CALLBACK_URL就是回调url

CODE是新浪这边生成的回调页面中给定的一个值,使用Uri解析出来就可以了。

然后采用HttpClient或者HttpsURLConnection提交POST请求获取新浪服务器的响应,从数据中解析出Access_token。

新浪微博Android开发获取Access_token的步骤的更多相关文章

  1. android开发获取网络状态,wifi,wap,2g,3g.工具类(一)

    android开发获取网络状态整理: package com.gzcivil.utils; import android.content.Context; import android.net.Con ...

  2. 和小猪一起搞微信公众号开发—获取Access_token

    前言 前一篇小猪和大家分享了如何回复用户的简单文本,这一篇我们来看看如何获取Access_token 介绍 在前一篇中,我们实现了这么一个简单的过程:用户发送一个文本到公众号后,公众号在该文本后面加上 ...

  3. 苹果MAC中安装并搭建Android开发环境的详细步骤

    Android的开发平台搭建主要需要的工具有:Java虚拟机JDK.Eclipse.Eclipse插件ADT(Android Developer Tool)和Android开发包SDK,以下是具体的安 ...

  4. Android开发获取多个存储空间的路径(内置SD卡以及外置SD卡)

    Android开发中经常会遇到多存储空间的问题,包括内置存储路径以及外置SD卡,而且有的时候会有多张外置SD卡,此时就需要获取不同的SD卡路径,然后根据需要来写入或者读出文件. 此处给出常用的SD卡工 ...

  5. Android 开发 获取Android设备的屏幕高宽

    获得屏幕的宽度和高度有很多种方法: //1.通过WindowManager获取 DisplayMetrics dm = new DisplayMetrics(); heigth = dm.height ...

  6. C#微信公众号开发——获取access_token

    access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒(两个小时),微信获取access_token接 ...

  7. android开发中图片优化步骤

    android开发中图片优化方法 1.图片加载方法,方便用户加载图片 /*** * 加载本地图片 * @param context:主运行函数实例 * @param bitAdress:图片地址,一般 ...

  8. 微信公众号开发——获取access_token(PHP版)

    access_token是调用微信接口的唯一凭据,每两小时刷新一次,我们需要每两小时就获取一次access_token. <?php class TokenUtil { //获取access_t ...

  9. Android开发 获取视频中的信息(例如预览图或视频时长) MediaMetadataRetriever媒体元数据检索器

    前言 在Android里获取视频的信息主要依靠MediaMetadataRetriever实现 获取最佳视频预览图 所谓的最佳就是MediaMetadataRetriever自己计算的 /** * 获 ...

随机推荐

  1. MySql入门(1)

    环境变量的重要性环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息.例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程 ...

  2. 第八章 分布式配置中心:Spring Cloud Config

    Spring Cloud Config 是 Spring Cloud 团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持, 它分为服务端与客户端两个部分. 其中服 ...

  3. centos7.3查看时区

    [root@iZ2ze3gf6h0zndx5dxyhqiZ ~]# date -R Fri, Apr :: + 即可查看时区 我们国家的东八区(+0800) 查看clock系统配置文件 [root@i ...

  4. 爬虫——回顾HTTP 协议

    一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文 ...

  5. linux进程通信:消息队列

    消息队列可以实现两个没有关系的进程之间的通信. 创建了一个消息队列后,进程可以往里面放消息,也可以取消息.因为这个消息队列是有名字的,所以就算是两个没有关系的进程,也能通信. 而且人性化的一点是,可以 ...

  6. 查看DNS服务器

    电脑右键查看本地连接 查看状态 然后看DNS

  7. java内存区域的分布

    读了<深入理解Java虚拟机>之后,当时理解了,过段时间又忘记了,在此做下记录,方便自我回顾,也希望能帮到想要学习虚拟机的同学. Java虚拟机在执行java程序时会把它所管理的内存分为5 ...

  8. 将maven打包为一个jar(可以体外加入jar)

    使用 maven-compiler-plugin插件, 在maven的pom的<build></build>标签中上加入 <build> <plugins&g ...

  9. iOS开发基础控件--UIButton

    01 //这里创建一个圆角矩形的按钮 02     UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 03 ...

  10. java算法 第七届 蓝桥杯B组(题+答案) 1.煤球数目

    1.煤球数目  (结果填空) 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少 ...