[iOS微博项目 - 2.0] - OAuth授权3步
* 注册一个微博帐号,登录http://open.weibo.com
帐号:xxxxxx
密码:xxxxxx
* 填写开发者的个人信息(比如姓名、出生日期、上传身份证)
2.创建应用
* 假设应用名称叫做“xx微博”
* 应用创建完毕,默认就进入“开发”阶段,就具备了授权的资格
* 应用相关数据
App Key:3145626526 // 应用的唯一标识
App Secret:ee9de4d2431be061b22fe328332a1111
Redirect URI:http://www.baidu.com
3.用户对“xx微博”进行资源授权----OAuth授权2.0
1> 获取未授权的Request Token : 展示服务器提供商提供的登录页面
* URL : https://api.weibo.com/oauth2/authorize
* 参数
client_id true string 申请应用时分配的AppKey // 得知道给哪个应用授权
redirect_uri true string 授权回调地址 // 授权成功后跳转到哪个页面
2> 获取授权过的Request Token
* 授权成功后,自动跳转到回调页面,比如
http://www.baidu.com/?code=eabdc03cc4cc51484111b1cfd9c4cd0b
// 新浪会在回调页面后面拼接一个参数:授权成功后的Request Token
3> 根据授权过的Request Token换取一个Access Token
* URL : https://api.weibo.com/oauth2/access_token
* 参数
client_id true string 申请应用时分配的AppKey。
client_secret true string 申请应用时分配的AppSecret。
grant_type true string 请求的类型,填写authorization_code
code true string 调用authorize获得的code值。
redirect_uri true string 回调地址,需需与注册应用里的回调地址一致
* 返回结果
{
    "access_token" = "2.00vWf4GEUSKa7D739148f7608SXA9B";
    "expires_in" = 157679999;
    "remind_in" = 157679999;
    uid = 3758830533;
}
// uid == user_id == 当前登录用户的ID   == 用户的唯一标识
{
    "access_token" = "2.00vWf4GEUSKa7D739148f7608SXA9B";
    "expires_in" = 157679999;
    "remind_in" = 157679999;
    uid = 3758830533;
}
* access_token和uid的去呗
access_token : 1个用户给1个应用授权成功后,就获得对应的1个access_token,作用是:允许1个应用访问1个用户的数据
uid:1个用户对应1个uid,每1个用户都有自己唯一的uid
举例:
张三
李四
应用1
应用2
张三给应用1、应用2授权成功了:1个uid、2个access_token
李四给应用2授权成功了:1个uid、1个access_token
上面操作:产生了2个uid,3个access_token
二、授权过程中常见错误:
1.invalid_request
1> 没有传递必填的请求参数
2> 请求参数不对
3> URL中间留有空格
2.invalid_client
1> client_id的值传递错误(AppKey不对)
3.redirect_uri_mismatch
1> 回调地址不对
三、授权帐号注意
[iOS微博项目 - 2.0] - OAuth授权3步的更多相关文章
- [iOS微博项目 - 3.0] - 手动刷新微博
		github: https://github.com/hellovoidworld/HVWWeibo A.下拉刷新微博 1.需求 在“首页”界面,下拉到一定距离的时候刷新微博数据 刷新数据的时候使 ... 
- [iOS微博项目 - 1.0] - 搭建基本框架
		A.搭建基本环境 github: https://github.com/hellovoidworld/HVWWeibo 项目结构: 1.使用代码构建UI,不使用storyboard ... 
- [iOS微博项目 - 4.0] - 自定义微博cell
		github: https://github.com/hellovoidworld/HVWWeibo A.自定义微博cell基本结构 1.需求 创建自定义cell的雏形 cell包含:内容.工具条 内 ... 
- [iOS微博项目 - 2.5] - 封装授权和用户信息读写业务
		github: https://github.com/hellovoidworld/HVWWeibo A.封装授权业务 1.把app的授权信息移动到HVWWeibo-Prefix.pch中作为公共 ... 
- [iOS微博项目 - 2.1] - 获得新浪授权接口
		A.如何获得新浪的授权接口 登陆新浪的开放平台 注册新浪账号 创建应用 获得应用id和请求地址 查阅相关API 关联需要进行测试的账号 1.登陆开放平台 http://open.weibo.com ... 
- [iOS微博项目 - 3.5] - 封装业务
		github: https://github.com/hellovoidworld/HVWWeibo A.封装微博业务 1.需求 把微博相关业务(读取.写微博) 界面控制器不需要知道微博操作细节( ... 
- iOS 新浪微博-4.0 OAuth授权
		申请开发者 想要拉到到新浪微博的数据,首先让自己成为开发者.申请成为开发者账号很简单,只要有新浪微博的账号即可. 申请地址:http://open.weibo.com/ 在开发的过程中,我们需要拿到几 ... 
- [iOS微博项目 - 2.3] - 用户取消对app的授权
		github: https://github.com/hellovoidworld/HVWWeibo A.用户取消对app的授权 用户可以在微博网站上取消对某个应用(app)的授权 1.打开& ... 
- [iOS微博项目 - 2.2] - 在app中获取授权
		github: https://github.com/hellovoidworld/HVWWeibo A.发送授权请求 1.使用UIWebView加载请求页面 自定义一个继承UIViewContr ... 
随机推荐
- 1742. Team building(dfs)
			1742 最小的是找联通块数 最大的找环 一个环算一个 其它的数各算一个 #include <iostream> #include<cstdio> #include<cs ... 
- [转载]Python模块学习 ---- subprocess 创建子进程
			[转自]http://blog.sciencenet.cn/blog-600900-499638.html 最近,我们老大要我写一个守护者程序,对服务器进程进行守护.如果服务器不幸挂掉了,守护者能即时 ... 
- POJ 2455 - Secret Milking Machine
			原题地址:http://poj.org/problem?id=2455 题目大意:给出一个N个点的无向图,中间有P条边,要求找出从1到n的T条通路,满足它们之间没有公共边,并使得这些通路中经过的最长的 ... 
- ASP.NET MVC 学习2、从Controller传递数据到View
			参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view 一,Control ... 
- C#计算程序执行速度
			long t1 = DateTime.Now.Ticks; //执行程序,例如处理100个文件 long t2 = DateTime.Now.Ticks; Response.Write("执 ... 
- UVA 11090 Going in Cycle!! 环平均权值(bellman-ford,spfa,二分)
			题意: 给定一个n个点m条边的带权有向图,求平均权值最小的回路的平均权值? 思路: 首先,图中得有环的存在才有解,其次再解决这个最小平均权值为多少.一般这种就是二分猜平均权值了,因为环在哪也难以找出来 ... 
- Java [Leetcode 94]Binary Tree Inorder Traversal
			题目描述: Given a binary tree, return the inorder traversal of its nodes' values. For example:Given bina ... 
- Java [Leetcode 111]Minimum Depth of Binary Tree
			题目描述: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along th ... 
- 【Java学习笔记】函数使用
			package aaa; public class aaa { public static int add(int a,int b) { return a+b; } public static voi ... 
- 【转】setTag()/getTag()
			原文网址:http://www.cnblogs.com/topcoderliu/archive/2011/06/07/2074419.html View中的setTag(Onbect)表示给View添 ... 
