知识大全 新浪微博API开发简介之PHP基础篇-用户授权

Posted

篇首语:生活的真谛从来都不在别处,就在日常一点一滴的奋斗里。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 新浪微博API开发简介之PHP基础篇-用户授权相关的知识,希望对你有一定的参考价值。

新浪微博API开发简介之PHP基础篇-用户授权  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  现在玩微博的人越来越多了 而关于微博的第三方应用开发也越来越多 自己在偶然间开始接触了新浪微博API开发 新浪微博API开发的资源比较多 新浪微博提供了一个开发者的平台 网址是 它里面有很全面的新浪微博开发的资料 包括开发者的使用和介绍 各种语言的API函数介绍文档 SDK等多种资料

  自己在开发和学习的过程中 感觉虽然没有太大难度 但还是有一些问题是需要我们注意的 今天就我在开发和学习的过程中 简单的对利用PHP进行新浪微博API开发的内容进行一个整理和说明

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

  首先到新浪微博开放平台下载基于PHP的SDK开发包 下载地址是

  下载完成后放到自己的开发环境中并解压 在其中也包含了demo演示程序 我们可以参考其样例程序进行编写

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

  其实在开发过程中很多的问题都是集中在用户授权这个阶段 我开发的第三方应用 使用的是OAuth授权 关于OAuth授权的流程在新浪微博开放平台里有很清晰完整的介绍 我们可以到去查看 我这里从实例开发的角度进行介绍和说明

   首先获取未授权的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数组变量中

    然后请求用户授权Token

$_SESSION[ keys ] = $keys; $aurl = $o >getAuthorizeURL( $keys[ oauth_token ] false );

  得到未授权的Request Token值后 我们就利用上面的代码可以开始准备去新浪微博授权页面进行授权 $aurl就是授权链接页面 我们得到$aurl后就可以利用 header()直接跳转到该授权页面 然后用户输入新浪微博帐号和密码进行授权 授权完成后 自动跳回你在最后一个参数里面设置的回调页面 该链接你可以设置为上一个页面 这样授权完成之后就会自动又跳转回去了

  需要注意的是设置session的keys的值是必须的 它在下面获取到授权的Access Token中是需要用到的 很多的朋友可能会参考其开放平台上面的说明来进行授权时 可发现总是出错 一般都是这个问题 你并未设置session的 keys值 在下面当然取不到Access Token的值了 这个一定要记住了

   最后得到用户授权的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() 样例代码看下面

  //获取前 条最新更新的公共微博消息 $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接口时就不用每次都去认证了

cha138/Article/program/PHP/201311/21077

相关参考

知识大全 Visual C++开发数据库基础之ADO篇

VisualC++开发数据库基础之ADO篇  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一AD

知识大全 明星一般用什么聊天

明星一般用什么聊天,何晟铭明星一般用什么聊天?微博明星一般用什么博客大都是新浪腾讯用户普通人居多不过已经越来越多的明星用播客直接收听这个比较方便更新快现在都喜欢写微博——新浪微博很火好多明星都开了最近

知识大全 有什么平台是新浪微博和腾讯微博同步的

有什么平台是新浪微博和腾讯微博同步的?微同步腾讯的应用有这个功能的新浪微博和腾讯微博同步假如你同时有新浪微博和腾讯微博,但是你没有时间两下打理,你就可以选择一款同步工具来同步。操作方法是:登陆你的腾讯

知识大全 人文的ASP开发基础入门之简介

人文的ASP开发基础入门之简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是ASP?AS

知识大全 新浪微博加了关注,为什么分组里面不显示该微博换分组还是不显示。

新浪微博加了关注,为什么分组里面不显示该微博换分组还是不显示。你刷新或重登一下,可能就好了,如果还是不行你再关注换分组一下,就会解决。新浪微博出问题了..不显示微博不显示关注和粉丝了过段时间刷新试试新

知识大全 我想知道,新浪微博粉丝下面有显示,来自微博找人,到底是什么意思呢

我想知道,新浪微博粉丝下面有显示,来自微博找人,到底是什么意思呢?是怎么关注我的呢?求大神解答!就是通过相关搜寻找到你的。也许是有你微博号和电话号码,或者知道你名字。怎么样才可以知道别人悄悄关注了你?

知识大全 新浪微博的标签是自己弄的还是别人弄的

新浪微博的标签是自己弄的还是别人弄的?是自己新增的。按步骤:账号——账号设定——个人资料——个人标签,可以设定个性标签。新浪微博@别人是怎么弄的?这个是二次转发才会出现的。点选转发就出现了@你直接把想

知识大全 在新浪注册了微博,怎么才能让更多的人成为我的粉丝

在新浪注册了微博,怎么才能让更多的人成为我的粉丝?izt801.微博昵称使用实名,人们对于实名微博信任度更高,更愿意关注2.要有精彩的、个性的个人介绍和标签,以此吸引志同道合者3.使用自己的照片做头像

知识大全 简单几行JS Code实现IE邮件转发新浪微博

简单几行JSCode实现IE邮件转发新浪微博  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  最近

知识大全 个人的新浪微博用手机号注册过了,现在我需要注册一个企业的官方微博,就这一个手机号,求救大神如何操作

个人的新浪微博用手机号注册过了,现在我需要注册一个企业的官方微博,就这一个手机号,求救大神如何操作?1、使用手机作为账号注册的话,是无法注销的,因为微博也不能确定是谁才是手机号的拥有者。以前的号还有内