最近学习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. NodeJS写模块和引入模块的例子

    nodejs自学.js function hello(){ console.log("hello world");} function s(){ console.log(" ...

  2. SVN专题(Visual SVN Server + TortoiseSVN + Visual SVN)

    参考资料: 1.Windows环境下搭建SVN服务器.原文地址:https://blog.csdn.net/lu1024188315/article/details/74082227 2.Git|SV ...

  3. Django学习---自定义分页

    自定义分页 简单例子: urls.py: from django.contrib import admin from django.urls import path from django.conf. ...

  4. thinkphp5的程序部署到虚拟主机的配置

    thinkphp5的程序部署到虚拟主机的配置 建议不要,因为这些目录文件会全部保留,那么没办法的时候咋整 1 htdocs 虚拟主机上的   把public/index.php修改 改动后的放到 ht ...

  5. 「小程序JAVA实战」java-sesion的状态会话与无状态会话(38)

    转自:https://idig8.com/2018/09/02/xiaochengxujavashizhanjava-sesiondezhuangtaihuihuayuwuzhuangtaihuihu ...

  6. nginx基本配置与参数说明-【转】

    #运行用户 user nobody; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 #error_log logs/error.log; ...

  7. #define中 #与##的神奇用法

    本文整理自csdn. #define f(a,b) a##b  #define d(a) #a  #define s(a) d(a)  void main( void )  {      puts(d ...

  8. shell脚本里切换用户执行命令的注意事项

    功能说明:用root用户执行一个脚本,脚本里需要切换到普通用户DT去执行其他命令,其中就用到了EOF,用法如下: #!/bin/bash su - DT<<EOF cd apache-to ...

  9. Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)

    一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...

  10. 【BZOJ3238】差异【后缀自动机+dp】

    题意 分析 这个题目还是很优秀的.sigma(len(Ti)+len(Tj))的值是一定的=n*(n+1)*(n-1)/2.那么关键就是求任意两个后缀的lcp的和了. 我们怎么求两个后缀的lcp?如果 ...