新浪微博API开发简介之PHP根底篇-用户授权

如今玩微博的人越来越多了,而关于微博的第三方运用开发也越来越多,本人在偶然间末尾接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:,它里面有很片面的新浪微博开发的材料,包括开发者的利用和引见,各种言语的API函数引见文档,SDK等多种材料。

本人在开发和学习的过程中,感觉只管没有太大难度,但还是有一些成绩是需求咱们留意的,今天就我在开发和学习的过程中,简略的对应用PHP停止新浪微博API开发的内容停止一个整顿和阐明,

新浪微博API开发前的预备工作

首先到新浪微博开放平台下载基于PHP的SDK开发包,下载地址是:?name=weibo-oauth-class-with-image-avatar-06-29.zip

下载实现后放到本人的开发环境中并解压,在其中也蕴含了demo演示程序,咱们可能参考其样例程序停止编写。

新浪微博API开发最重要的用户授权过程

其真实开发过程中很多的成绩都是集中在用户授权这个阶段,我开发的第三方运用,利用的是OAuth授权,关于OAuth授权的流程在新浪微博开放平台里有很明晰残缺的引见,咱们可能到去查看,我这里从实例开发的角度停止引见和阐明。

1.首先获取未授权的Request Token

$o = new WeiboOAuth( WB_AKEY , WB_SKEY );

$keys = $o->getRequestToken();

//echo($keys['oauth_token'].' : '.$keys['oauth_token_secret']);

咱们需求在新浪微博开放平台中注册一个帐号,或间接利用咱们的新浪微博帐号登录,进入我的运用,然后依照揭示创建属于咱们本人的第三方运用,创建实现之后咱们可能失去两个授权的App Key和App Secret值,这两个值就是咱们开发运用的要害。

失去授权值后,咱们就可能应用上面的代码获得未授权的Request Token值了,它们会保存在$key数组变量中。

2.然后申请用户授权Token

$_SESSION['keys'] = $keys;

$aurl = $o->getAuthorizeURL( $keys['oauth_token'] ,false , 'http://localhost/callback.php');

失去未授权的Request Token值后,咱们就应用上面的代码可能末尾预备去新浪微博授权页面停止授权,$aurl就是授权链接页面,咱们失去$aurl后就可能应用 header()间接跳转到该授权页面,然后用户输入新浪微博帐号和明码停止授权,授权实现后,主动跳回你在最后一个参数里面设置的回调页面:,该链接你可能设置为上一个页面,这样授权实现之后就会主动又跳转回去了。

需求留意的是设置session的keys的值是必须的,它在下面获取到授权的Access Token中是需求用到的。很多的冤家能够会参考其开放平台上面的阐明来停止授权时,可发现总是出错,普通都是这个成绩,你并未设置session的 keys值,在下面当然取不到Access Token的值了,这个肯定要记住了。

3.最后失去用户授权的Access Token

$o = new WeiboOAuth( WB_AKEY ,

WB_SKEY ,

$_SESSION['keys']['oauth_token'] ,

$_SESSION['keys']['oauth_token_secret'] );

$last_key = $o->getAccessToken( $_REQUEST['oauth_verifier'] ) ;

echo($last_key['oauth_token']);

上面的代码就最终获得了用户授权的Access Token,共两个值,它们保存在$last_key数组变量里面,咱们也可能看到,前面的两个参数就是后面咱们设置的session值。到此就根本实现了,这就是新浪微博用户授权的一个残缺的过程。

授权实现后的工作

在授权实现之后,咱们就可能末尾调用新浪微博提供的各类API函数接口停止实践运用的开发了,在这里我就获取最新微博记载这个接口停止一个简略阐明,其余都类似。

获取最新新浪微博信息的API接口函数是:public_timeline(),样例代码看下面:

//获取前20条最新更新的公共微博消息

$c = new WeiboClient( WB_AKEY ,

WB_SKEY ,

$oauth_token ,

$oauth_token_secret );

$msg = $c->public_timeline();

if ($msg === false || $msg === null){

echo "Error occured";

return false;

}

if (isset($msg['error_code']) && isset($msg['error'])){

echo ('Error_code: '.$msg['error_code'].'; Error: '.$msg['error'] );

return false;

}

print_r($msg);

通常咱们在失去用户授权的Access Token值之后,就把它们保存在咱们的用户表中,与咱们的运用中的帐号停止对应,之后咱们在调用新浪微博各api接口时就不用每次都去认证了。

上面的代码很简略,实例化WeiboClient对象,然后间接调用接口函数public_timeline就可能失去前往的信息,假设没有谬误的话。通常新浪微博api接口前往的数据格式普通为Json格式或xml格式,而咱们在此是用php停止开发,则利用Json格式的数据就有后天的劣势,假设前往Json格式数据的话,间接利用php函数json_decode()就可能转换为php常用的array数组格式了。

起源:红心草博客

php新浪微博转发 发布微博apisdk,新浪微博API开发简介之PHP根底篇-用户授权相关推荐

  1. 新浪微博开发平台基于php的sdk包(包含demo程序),新浪微博API开发简介之用户授权(PHP基础篇)...

    现在玩微博的人越来越多了,而关于微博的第三方应用开发也越来越多,自己在偶然间开始接触了新浪微博API开发,新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open ...

  2. Angular SPA基于Ocelot API网关与IdentityServer4的身份认证与授权

    在上一讲中,我们已经完成了一个完整的案例,在这个案例中,我们可以通过Angular单页面应用(SPA)进行登录,然后通过后端的Ocelot API网关整合IdentityServer4完成身份认证.在 ...

  3. java如何实现发布微博的功能_使用java调用新浪微博开发api进行通信

    注:本文代码已失效,请不要模仿之,其他方式请参考使用scribe方式 最近研究了下新浪微博的开发api,尝试在某些客户端应用中也能够调用相应的api发送新浪微博,经过一番的尝试,最后成功.现将其中的几 ...

  4. 新浪哪些信息微博服务器被覆盖,新浪微博自动发布评论9.8(新浪微博助手)黄金版...

    新浪微博自动发布评论是一款可以帮助您推广各类信息的微博工具,转为提高粉丝量,发微博广告而设计的,看到什么就能得到什么,覆盖范围广,让您的广告效果做到最好,提高微博流量不在是个难题,小伙伴们,快快行动吧 ...

  5. php微博登录授权代码,php使用新浪微博API开发用户授权功能

    本节内容: 新浪微博API的php实例. 新浪微博API开发的资源比较多,新浪微博提供了一个开发者的平台,网址是:http://open.weibo.com,它里面有很全面的新浪微博开发的资料,包括开 ...

  6. java微博开发_【新手入门篇】新浪微博应用开发之Java入门篇

    新浪微博应用开发之Java篇 2012年11月11日星期日 一.开发流程简介: 2.  在以下地址创建一个应用,假设创建一个桌面应用: 3.  进入管理中心,查看并记住应用ID和密码: 4.  在&q ...

  7. php新浪微博 登录接口文档,新浪微博的账号登录及PHP api操作

    新浪微博 的账号登录及api操作,使用oauth 2.0 官方提供的sdk都太过庞大,这是我自己简化的,提供简单的账号登录.获取个人信息.发布微博等功能,如果需要其他功能可以根据官方的api文档自行添 ...

  8. 将 WordPress 文章同步发送到 Twitter,新浪微博,搜狐微博,QQ微博,嘀咕,开心,人人

    这两天没事,Forece 又开始折腾了,想把自己用 WordPress 搭建的博客同步到所有社区网站和微博上边.网上搜索了很多文章,其中大部分都是通过嘀咕来实现的.不过也有用其他方法的.在这里我总结一 ...

  9. java 微博sdk_Java新浪微博客户端开发第一步

    Java新浪微博客户端开发***步 一.获得开发应用所需的"通行证"App Key和App Secret 首先必须要有新浪的账号.再打开http://open.weibo.com/ ...

最新文章

  1. myeclipse中ALT+/怎么不管用了
  2. Angular property binding重复触发的问题讨论
  3. FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法...
  4. java方法中的循环里的变量_Java中循环声明变量方法
  5. 从0到1带你手撸一个请求重试组件,不信你学不会!
  6. Git bash使用中...
  7. [Android] 图片JNI(C++\Java)高斯模糊 多线程
  8. 记录SCI-hub使用方法
  9. 工业机器人pallet指令_工业机器人编程指令详解
  10. 统计 | 几种特殊随机变量的分布
  11. vos3000配置与通讯测试(一)
  12. [HTML]北京邮电大学信息与通信工程学院选课参考指南
  13. Python爬取第一电影天堂最新电影(5000多部)代码实例(一)
  14. nginx 使用配置解释
  15. 日语初级语法复习 Day 17 Summary(更新中)
  16. 【PowerShell】Windows 7 如何升级 PowerShell
  17. echarts 折线图折线从头开始
  18. AI语音外呼机器人对于企业的市场有什么促进作用
  19. 筑泰防务受邀参加公安无线通信与移动警务技术应用研讨会
  20. 深读 |《人人都是产品经理2.0》上篇

热门文章

  1. 用友uap开发nc65按钮配置
  2. 【ChatGPT与网络安全攻击】AI密码破解器可在60秒内攻破50%以上普通密码
  3. 表单提交中get和post方式的区别
  4. PHPStorm配置XDeBug操作总结
  5. support库中v4 v7版本冲突错误详解
  6. oracle 错误码
  7. 虚拟内存太低的罪魁祸首者!!
  8. 【可信计算】第七次课:可信计算密码支撑平台
  9. 使用百度SDK实现定位功能
  10. 百度定位SDK无法定位