Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >PHP获取新浪微博token

PHP获取新浪微博token

作者头像
老高的技术博客
发布于 2022-12-24 04:25:49
发布于 2022-12-24 04:25:49
1K00
代码可运行
举报
运行总次数:0
代码可运行

最近在做采集微博的功能,由于要自动采集,所以必须获得最终的用户的token,获取了这个token以后就可以为所欲为啦!

贴代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$s = new SaeTOAuthV2 ( WB_AKEY, WB_SKEY);
//准备post数据
$post ['action'] = 'login';
//$post ['display'] = 'default';
//$post ['withOfficalFlag'] = 0;
//$post ['quick_auth'] = null;
//$post ['withOfficalAccount'] = '';
//$post ['scope'] = '';
//$post ['ticket'] = '';
//$post ['isLoginSina'] = '';
//$post ['isLoginSina'] = 'code';
//regCallback|appkey62需要预先请求一次拿到
//$post ['regCallback'] = $match_regCallback[1];
//这里不用urlencode,http_build_query会自动处理
$post ['redirect_uri'] = WB_CALLBACK_URL;
$post ['client_id'] = WB_AKEY;
//$post ['appkey62'] = $match_appkey[1];
//$post ['state'] = '';
//$post ['verifyToken'] = null;
//$post ['from'] = '';
$post ['userId'] = '*******';//测试用户名
$post ['passwd'] = '*******';//测试密码,不要有!@¥%……&*()这些符号,最好全是字符或数字,否则验证会失败
$post = http_build_query($post);
//UA貌似没有也行,保险起见还是加上吧
$UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36';
//获取认证URL作为refer
$url = $s->getAuthorizeURL (WB_CALLBACK_URL);
//echo $url."\n";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.weibo.com/oauth2/authorize');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//自动跳转
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_USERAGENT, $UA);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
//获取最后一个有效的url地址
$token_url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
echo $token_url."\n";
curl_close($ch);
$code = preg_match('#code\=(.*)#',$token_url,$match_url);
//找到code
if($code>=1)
{
    $code = $match_url[1];
    $keys = array();
    $keys['code'] = trim($code);
    $keys['redirect_uri'] = WB_CALLBACK_URL;
    try 
    {
        $token = $s->getAccessToken( 'code', $keys );
    } catch (OAuthException $e) 
    {
        die($e->getMessage());
    }
    return $token;
}else
{
    die("code获取失败");
}

思路很简单,直接给 https://api.weibo.com/oauth2/authorize 发送登录信息,通过认证后,他会返回给你一个跳转URL,并带有一个code变量,这个code还是与开发者绑定的。

然后使用这个code,与服务器http://open.weibo.com/wiki/Oauth2/authorize 接口通信,返回的才是最终你需要的token,这个token同时与用户绑定,将他保存在session里随时调用!

思路参考:

http://hi.baidu.com/bing008ok/item/0a2bce068d1f8e0aeafe385d

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PHP调用微博接口实现微博登录的方法示例
在平时项目开发过程中,除了注册本网站账号进行登录之外,还可以调用第三方接口进行登录网站。这里以微博登录为例。微博登录包括身份认证、用户关系以及内容传播。允许用户使用微博帐号登录访问第三方网站,分享内容,同步信息。
子润先生
2021/07/13
7190
新浪微博 OAuth2 NodeJs发微博
想用nodejs写个微博客户端发微博,无奈新浪微博的nodejs sdk是OAuth1.0的。 只能自己根据OAuth1.0 改了改。 只写了statuses/update 和 statuses/upload,其他的实现基本都类似了。 update是简单参数的post,upload是multipart 包含二进制图片的post。 改改帐号参数和发送的图片路径,node weibotest.js就能成功发送了。 如果中文出现乱码,请把这两个js文件保存成utf-8编码。 weibo.js
井九
2024/10/12
2340
微信JSAPI支付
1.和H5、Native扫码支付略微有点不同,JSAPI主要适用于微信内支付的场景,就是在微信内置浏览器中实现的H5支付
安德玛
2022/03/05
2.4K0
Python调用微博API获取微博内容
    使用自己的微博账号登录微博开放平台(http://open.weibo.com/),在微博开放中心下“创建应用”创建一个应用,应用信息那些随便填,填写完毕后,不需要提交审核,需要的只是那个app-key和app-secret
py3study
2020/01/10
4.4K0
Python调用微博API获取微博内容
用PHP代码批量生成百度、新浪短网址,打造最炫的api接口
了几个短网址API服务,于是把它们整理出来,方便以后使用,目前,提供靠谱的短网址API接口的公司不多(google、baidu、新浪微博、网易等),而像腾讯微博、淘宝这几个巨子的短网址服务都是仅供内部使用.
用户8099761
2023/05/10
1.2K0
微信扫码登录详解 - 可做登录授权等
可用作微信扫码登录,扫码授权等,自行使用。 <?php header('Access-Control-Allow-Origin:*'); header('Content-type:applicatio
骤雨重山
2022/01/17
2K1
Laravel学习记录--微信开发(day3)
本项目通过第三方扩展进行开发 overtrue/wechat,官方网站https://www.easywechat.com/
切图仔
2022/09/14
1.8K0
Laravel学习记录--微信开发(day3)
基于PHP方法,微信公众号小程序获取code,access_token,openid,用户信息
//发起获得code值链接 public function doPageGetcode() { appid=′yourappid′;//修改你的appidif(!appid = 'yourappid';//修改你的appid if (!appid=′yourappid′;//修改你的appidif(!appid) { return this->result(10008, '参数错误', ''); } //这里的redirect_uri地址需要http://,跳转对于登录doPageOpenid方法,在微信公众号上面也有添加这个域名wx.owen.com/ redirect_uri=urlencode("[http://wx.owen.com/doPageOpenid](http://wx.owen.com/doPageOpenid)");redirect\_uri = urlencode("[http://wx.owen.com/doPageOpenid](http://wx.owen.com/doPageOpenid)"); redirect_uri=urlencode("[http://wx.owen.com/doPageOpenid](http://wx.owen.com/doPageOpenid)");url = "open.weixin.qq.com/connect/oau…" . appid . "&redirect\_uri=" . redirect_uri . "&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect"; header('location:' . $url); }
OwenZhang
2021/12/08
1.3K0
QQ、新浪微博、码云和百度的第三方登录
很多网站在刚刚起步的时候都会使用第三方登录来吸引流量。当然,其中也包括我。我的网站上现在是接入了QQ、新浪微博、码云和百度的第三方登录功能.接入这些功能时我发现了一些规律,在这里分享给大家,大家需要接入的话看这一篇文章就可以了。 首先,第一步,也是不得不做的,进入你要接入的开放平台申请账号、填写资料等待审核等。填写资料的时候需要注意的地方是回调地址,这个回调地址就是用户在第三方平台登陆成功以后返回到你的程序的页面。以我的网站为例,我的回调地址就是个人中心,也就是说用户登陆后会进入个人中心页面。(在这里小小的吐槽一下wx,想要接入还得进行开发者认证,人民币300元,不知道为了啥)。
Java学习录
2019/04/18
1.8K0
QQ、新浪微博、码云和百度的第三方登录
微信小程序开发-注册账号
微博登录原理,简单介绍一下,通过特定网址携带固定参数,发起请求登录,之后通过回调地址,获取code值,通过code值获取access_token值和uid值,通过上面获取的值获取用户信息。
申霖
2019/12/27
3.6K0
微信小程序开发-注册账号
springboot实现第三方登陆----微博登录
有一个http的请求和一个https的请求,用哪个都是一样的,这样就可以被外网访问到了
utopia
2023/03/21
3940
springboot实现第三方登陆----微博登录
微信JSAPI支付PHP源码
2、公众平台,用户在网页授权页同意授权给公众号后,微信会将授权数据传给一个回调页面,回调页面需在此域名下,以确保安全可靠。
用户6493868
2022/03/09
6.2K0
Thinkphp5实现微信网页授权登录,保存用户信息到Mysql数据库
去新的公司上班有大半个月了,在公司负责一个项目手机端的官网,其中有一个需求就是要用到微信网页授权登录,今天整理了一下代码逻辑给大家分享出来,希望对大家有所帮助。
程序猿的栖息地
2022/04/29
3.2K0
Thinkphp5实现微信网页授权登录,保存用户信息到Mysql数据库
整合ThinkPHP功能系列之微信网页OAuth2.0授权登录
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用
沈唁
2018/07/26
1.5K0
整合ThinkPHP功能系列之微信网页OAuth2.0授权登录
使用Python3.7+Tornado5.1集成新浪微博三方登录(无需企业资质)
    新浪微博:山寨版的twitter,各种粉丝的集散地,天朝人民的最爱,基本上网民都人手一个微博账号,所以使用新浪微博账号进行三方登录来提高用户登录体验就显得尤为重要,本次使用Python3+Tornado5来集成微博登录,记录一下,坑还是不少的。
用户9127725
2022/08/08
4200
使用Python3.7+Tornado5.1集成新浪微博三方登录(无需企业资质)
springboot实现微博登录
内网穿透工具地址:https://www.cpolar.com/ 下载 跑起来之后是这个样子,其他工具也可以。
崔笑颜
2020/06/08
1.1K0
第三方登录(3)---微博登录
我们在前面实现了使用QQ账号以及GitHub账号进行第三方登录。有兴趣的可以看看前两篇文章:
创译科技
2019/06/02
5.5K0
相关推荐
PHP调用微博接口实现微博登录的方法示例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档