1.开放平台
将网站的服务封装成一系列计算机可以识别的数据接口开放出去,供第三方开发者使用,这种行为叫做openAPI,提供开放API的平台本身就被称为开放平台。
2.开放平台实例
微博、微信、朋友圈、QQ、QQ空间、支付宝、印象笔记、Facebook、Twitter
//请求
https://api.weibo.com/oauth2/authorize?client_id=466382417&redirect_uri=https://api.weibo.com/oauth2/default.html&response_type=code
//同意授权后会重定向
http://www.example.com/response&code=CODE
Apple ID:APP Stroe 上的唯一标识
Bundle ID:手机上的唯一标识
3.新浪微博API添加应用
注意:
1)Bundle ID要与自己的应用一致
2)授权回调URL在程序中不能写错,要与开放平台上配置的一致
4.OAuth认证
OAuth(开放授权)是一个开放标准。
允许第三方在用户授权的前提下访问用户在服务商那里存储的各种信息。
这种授权无需用户将用户名和密码提供给第三方
是使用令牌的形式进行的
OAuth允许用户提供一个令牌给第三方,第三方可以拿着这个令牌,在有效期内访问特定的资源。
code:临时令牌
token:真正的令牌
5.授权过程
2016-05-10 15:53:48.196 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize?client_id=466382417&redirect_uri=https://www.baidu.com
输入用户名密码后输出如下地址
2016-05-10 15:54:33.062 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
点击授权输出如下
2016-05-10 15:54:38.212 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize#
2016-05-10 15:54:38.217 0510WeiboAPI[1109:47564] urlStr:https://api.weibo.com/oauth2/authorize
2016-05-10 15:54:38.281 0510WeiboAPI[1109:47564] urlStr:https://www.baidu.com/?code=c902b89e4c566127e79eb2395ec58eef
6.关于解决The Operation Couldn't be Completed
问题描述:当运行Xcode6时,编译代码成功,但是登陆模拟器失败,显示错误:The Operation couldn't be completed.(LaunchServicesError error 0.)
解决办法:
第1种方法:点击当前的模拟器,点击IOS Simulator->Reset Content and Settings...->Reset,然后会重置模拟器,再编译代码可登录模拟器成功
第2种方法:点击Xcode->Product->Clean
第3种方法:将模拟器上的当前运行的app删除,再重新加载(长按模拟器的屏幕,点击当前报错的app 删除)
第4种方法:在info.plist文件中修改bundle的版本号
我遇到的问题是上述几种方法只能暂时解决,当我一修改代码时,又重新报错,然后我把我项目里的那个Resources(就是存储图片的那个包)给删除了,然后重新建分组,但是资源包的名字不叫Resources,然后重新clean,结果问题解决了,我想原因可能是我的Resources与Xcode里冲突了,然后Xcode不能打包app到模拟器上吧
测试接口:
statuses/home_timeline
获取当前登录用户及其所关注(授权)用户的最新微博
URL:
https://api.weibo.com/2/statuses/home_timeline.json
支持格式:JSON
追加参数
URL:
https://api.weibo.com/2/statuses/home_timeline.json?access_token=2.00pHInVD0D4tYV2613ba9f37MtFIeB
测试:
1.新浪微博
2.举一反三腾讯微博