获取 APP KEY和 APP SECRET

第一步:请求用户授权的token

[appkey]&redirect_uri=[回调地址]&response_type=code

请求参数

必选类型及范围说明

client_idtruestring申请应用时分配的AppKey。

redirect_uritruestring授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。

scopefalsestring申请scope权限所需参数,可一次申请多个scope权限,用逗号分隔。使用文档

statefalsestring用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。开发者可以用这个参数验证请求有效性,也可以记录用户请求授权页前的位置。这个参数可用于防止跨站请求伪造(CSRF)攻击

displayfalsestring授权页面的终端类型,取值见下面的说明。

forceloginfalseboolean是否强制用户重新登录,true:是,false:否。默认false。

languagefalsestring授权页语言,缺省为中文简体版,en为英文版。英文版测试中,开发者任何意见可反馈至 @微博API

display说明:

参数取值类型说明

default默认的授权页面,适用于web浏览器。

mobile移动终端的授权页面,适用于支持html5的手机。注:使用此版授权页请用 授权接口

wapwap版授权页面,适用于非智能手机。

client客户端版本授权页面,适用于PC桌面应用。

apponweibo默认的站内应用授权页,授权后不返回access_token,只刷新站内应用父框架。

返回数据

返回值字段            字段类型                字段说明

code                    string                    用于第二步调用oauth2/access_token接口,获取授权后的access token。

state                    string                    如果传递参数,会回传该参数。

第二步:获取授权过的access token

$code = $_REQUEST['code'];

[appkey]&client_secret=[appsecret]&grant_type=authorization_code&code=[获取的code值]&grant_type=[回调地址]

请求参数

必选            类型及范围                说明

client_id        true            string                申请应用时分配的AppKey。

client_secret   true            string                申请应用时分配的AppSecret。

grant_type    true              string                请求的类型,填写authorization_code

grant_type为authorization_code时

必选类型及范围说明

codetruestring调用authorize获得的code值。

redirect_uritruestring回调地址,需需与注册应用里的回调地址一致。

返回数据

{

"access_token": "ACCESS_TOKEN",

"expires_in": 1234,

"remind_in":"798114",

"uid":"12341234"

}

返回值字段        字段类型            字段说明

access_token        string            用户授权的唯一票据,用于调用微博的开放接口,同时也是第三方应用验证微博用户登录的唯一票据,第三方应用应该用该票据和自己应用内的用户建立唯一影射关系,来识别登录状态,不能使用本返回值里的UID字段来做登录识别。

expires_in            string            access_token的生命周期,单位是秒数。

remind_in             string            access_token的生命周期(该参数即将废弃,开发者请使用expires_in)。

uid                       string            授权用户的UID,本字段只是为了方便开发者,减少一次user/show接口调用而返回的,第三方应用不能用此字段作为用户登录状态的识别,只有access_token才是用户授权的唯一票据。

通过curl方式执行url

private function _request($curl, $https=true, $method='get', $data=null){

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $curl); //设置URL

curl_setopt($ch, CURLOPT_HEADER, false);//不返回网页URL的头信息

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //不直接显示,返回一个字符串

if($https){

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//服务器端的证书不验证

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//客户端证书不验证

}

if($method == 'post'){

curl_setopt($ch, CURLOPT_POST, true); //设置为POST提交方式

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置提交数据$data

}

$str = curl_exec($ch);//执行访问

curl_close($ch);//关闭curl释放资源

return $str;

}

返回的是json数据,转换成数组进行处理,并获取access_teken的值

$content = json_decode($content);

$access_token = $content->access_token;

$uid = $content->uid;

{非必须,测试}第三步:授权信息查询接口

[$access_token]

请求参数

access_token:用户授权时生成的access_token。

返回数据

{

"uid": 1073880650,

"appkey": 1352222456,

"scope": null,

"create_at": 1352267591,

"expire_in": 157679471

}

返回值字段            字段类型            字段说明

uid                        string                授权用户的uid。

appkey                   string                access_token所属的应用appkey。

scope                    string                用户授权的scope权限。

create_at                string                access_token的创建时间,从1970年到创建时间的秒数。

expire_in                string                access_token的剩余时间,单位是秒数。

{非必须,测试}第四步:授权回收窗口

[$access_token]

请求参数

access_token: 用户授权应用的access_token

返回数据

{

"result":"true"

}

使用场景说明

应用下线时,清空所有用户的授权

应用新上线了功能,需要取得用户scope权限,可以回收后重新引导用户授权

开发者调试应用,需要反复调试授权功能

应用内实现类似登出微博帐号的功能

第五步:根据微博的API获取微博的信息

wiki/   微博API

示例:

根据用户ID获取用户信息

[$access_token]&uid=[$uid]

curl返回json数据,json_decode转换数组,返回的json数据保存用户的详细信息

请求参数

必选类型及范围说明

access_tokentruestring采用OAuth授权方式为必填参数,OAuth授权后获得。

uidfalseint64需要查询的用户ID。

screen_namefalsestring需要查询的用户昵称。

注意事项

参数uid与screen_name二者必选其一,且只能选其一;

接口升级后,对未授权本应用的uid,将无法获取其个人简介、认证原因、粉丝数、关注数、微博数及最近一条微博内容。

返回字段说明

返回值字段        字段类型            字段说明

id                      int64                    用户UID

idstr                   string                    字符串型的用户UID

screen_name    string                    用户昵称

name                string                    友好显示名称

province            int                        用户所在省级ID

city                    int                        用户所在城市ID

location               string                   用户所在地

description        string                   用户个人描述

url                    string                  用户博客地址

profile_image_urlstring                  用户头像地址(中图),50×50像素

profile_url        string                    用户的微博统一URL地址

domain            string                   用户的个性化域名

weihao            string                    用户的微号

gender            string                   性别,m:男、f:女、n:未知

followers_count      int                  粉丝数

friends_count        int                 关注数

statuses_count       int                 微博数

favourites_count      int                   收藏数

created_at        string                   用户创建(注册)时间

following            boolean               暂未支持

allow_all_act_msgboolean            是否允许所有人给我发私信,true:是,false:否

geo_enabled    boolean               是否允许标识用户的地理位置,true:是,false:否

verified             boolean                是否是微博认证用户,即加V用户,true:是,false:否

verified_type    int                        暂未支持

remark            string                   用户备注信息,只有在查询用户关系时才返回此字段

status              object                用户的最近一条微博信息字段 详细

allow_all_commentboolean          是否允许所有人对我的微博进行评论,true:是,false:否

avatar_large     string                 用户头像地址(大图),180×180像素

avatar_hd        string                用户头像地址(高清),高清头像原图

verified_reason    string               认证原因

follow_me        boolean             该用户是否关注当前登录用户,true:是,false:否

online_status    int                    用户的在线状态,0:不在线、1:在线

bi_followers_count  int                 用户的互粉数

lang                string                用户当前的语言版本,zh-cn:简体中文,zh-tw:繁体中文,en:英语

阅读(420) | 评论(0) | 转发(0) |

php微博互粉网站源代码,PHP联合【新浪微博】实现第三方登陆相关推荐

  1. php微博互粉网站源代码,微博粉丝平台开发全攻略_PHP教程

    微博粉丝平台开发最便捷的方法是从微信迁移过来,不过微博粉丝平台对此做了些改动. 以下引用自:http://open.weibo.com/wiki/%E5%BE%AE%E4%BF%A1%E5%BC%80 ...

  2. 提高我们微博互粉的效率,使用一键关注Chrome扩展程序

    2016-11-28日更新:解决部分页面无法自动关注的问题 2014-10-28日更新:修复由于微博版本更新造成的不能翻页的问题! 2013.6.28日更新:新浪更改了HTML,造成插件不能自动翻页! ...

  3. 这才是真正意义上的微博互粉工具

    记得刚开始使用微博的时候,没有什么粉丝关注,哪怕写了非常有意思的微博,也没有人看, 逐渐的对微博失去了兴趣:后来发现不少朋友在四处寻求互粉,心里便萌生了要开发这个微博互粉的想法, 让大家更有动力去写微 ...

  4. 节省微博互粉时间,使用全自动一键关注Chrome扩展程序

    此扩展程序是"提高我们微博互粉的效率,使用"一键关注"Chrome扩展程序"的升级版本,目前只支持新浪微博,其他微博请使用老版本! 详细使用帮助参见: 安装使用 ...

  5. php微博互粉源码,PHP实现微博的同步发送

    准备工作 作为新浪微博的开发者,需要有身份验证: 个人身份认证的审核,一般一个工作日: 接着是提交网站的审核,境内的就是提交备案号.境外的提交所在网站的境外证明即可:也是一个工作日左右: 通过个人身份 ...

  6. 微博互粉php,PHP+redis实现微博的推模型案例分析

    本文实例讲述了PHP+redis实现微博的推模型.分享给大家供大家参考,具体如下: 最近在看了一下关于redis的内容,然后利用redis写了一个简单的微博项目,这篇文章是关于推模型的. 推模型 所谓 ...

  7. php微博互粉,PHP+redis实现微博的拉模型案例详解

    本文实例讲述了PHP+redis实现微博的拉模型.分享给大家供大家参考,具体如下: 上回写了一篇推模型的内容,这回分享一篇拉模型的内容. 拉模型 拉模型就是展示微博的时候,获取自己的所有关注的人,然后 ...

  8. 微博相互关注互粉mysql表实现_新浪微博的“关注功能”数据库是如何设计的

    展开全部 你好.方法有二个: 我觉得是这样设计的e69da5e887aa62616964757a686964616f31333335343362 一个字段记录他所关注的好友信息 应该是json的 然后 ...

  9. 新浪腾讯微博互刷互粉工具-网页版

    其实早些年,应该算是前年吧.就已经注册了新浪微博,然后腾讯微博出来了就又注册了腾讯微博,不过,推特还真没注册过,当我知道的时候就已经需要爬墙了,人矮,懒得爬了! 那时候,腾讯我记得我发过好几期的邀请码 ...

最新文章

  1. Chapter 11 替代变量
  2. 算法之组合数学及其算法篇(三) ----- 容斥原理应用以及几个典型的递归关系
  3. 第五章 云原生与容器技术
  4. 北邮王立新教授提到的“5年后运营商排名论”
  5. linux板级初始化
  6. highcharts 怎么去掉鼠标悬停效果_练瑜伽减肥没效果什么原因?
  7. 线段(信息学奥赛一本通-T1429)
  8. shared memory global memory constant memory in cuda
  9. 关于更新内容次序问题
  10. js原生设计模式——8单例模式之简约版属性样式方法库
  11. 【Unity3D】GUI控件
  12. LabVIEW学习笔记1
  13. 超市仓库管理系统python+tkinter
  14. 龙世界java下载_龙世界3-龙王之剑
  15. cocosCreator 骨骼动画
  16. java网关详解_一篇让你彻底理解网关是什么的文章
  17. LMS学习管理系统综述
  18. linux ps4模拟器下载地址,PS4模拟器PC版下载
  19. 使用AlexNet训练自己的数据集
  20. iOS 取绝对值用法

热门文章

  1. RK3288 10.1寸电阻触摸屏调试与校准软件的运行
  2. 体检报告分析与饮食起居注意事项
  3. Linux 常用命令及快速记忆方法
  4. java使用poi-tl操作word文件
  5. 随机过程在计算机领域的应用,清华大学出版社-图书详情-《随机过程及其在金融领域中的应用(第2版)》...
  6. 碱性干电池的内阻测试方法_实测南孚一号干电池内阻
  7. 版式文件 流式文件_画册版式设计的重要性!
  8. 英国电信官宣入华,三大运营商慌不慌?
  9. Delphi--Delphi资源
  10. adb进入recovery 以及fastboot模式