利用PHP进行新浪微博API开发的内容进行一个整理和说明
优采云 发布时间: 2021-05-18 18:02利用PHP进行新浪微博API开发的内容进行一个整理和说明
现在,玩微博的人越来越多,有关微博的第三方应用程序开发也越来越多。我不小心开始接触新浪微博API开发,新浪微博API开发资源更多,新浪微博为开发人员提供了平台。该网站是:它收录有关新浪微博开发的全面信息,包括开发人员的使用和介绍,各种语言的API函数介绍文档,SDK等。各种材料。
在发展和学习的过程中,我觉得尽管这不太困难,但仍有一些问题需要我们注意。今天,在开发和学习过程中,我仅使用PHP进行新浪微博来组织和解释API开发的内容,
新浪微博API开发之前的准备工作
首先进入新浪微博开放平台,下载基于PHP的SDK开发包。下载地址为:?name = weibo-oauth-class-with-image-avatar-06-2 9. zip
下载完成后,将其放置在您自己的开发环境中并解压缩。演示程序也包括在内。我们可以参考其示例程序进行编写。
新浪微博API开发中最重要的用户授权过程
实际上,开发过程中的许多问题都集中在用户授权阶段。我开发的第三方应用程序使用OAuth授权。在新浪微博开放平台中,OAuth授权过程非常清晰且完整。简介,我们可以检查一下,我将从示例开发的角度进行介绍和解释。
1.首先获取未经授权的请求令牌
复制代码,代码如下:
$ o =新的WeiboOAuth(WB_AKEY,WB_SKEY);
$ keys = $ o-> getRequestToken();
// echo($ keys ['oauth_token']。':'。$ keys ['oauth_token_secret']);
我们需要在新浪微博开放平台上注册一个帐户,或直接使用我们的新浪微博帐户登录,输入我的应用程序,然后按照提示创建我们自己的第三方应用程序。创建完成后,我们可以获得两个授权的App Key和App Secret值,这两个值是我们应用程序开发的关键。
获取授权值后,我们可以使用上述代码获取未经授权的请求令牌值,该值将存储在$ key数组变量中。
2.然后请求用户授权令牌
复制代码,代码如下:
$ _ SESSION ['keys'] = $ keys;
aurl = $ o-> getAuthorizeURL($ keys ['oauth_token'],false,'');
获得未授权的请求令牌值后,我们可以使用上面的代码准备进入新浪微博授权页面进行授权。 $ aurl是授权链接页面。得到$ aurl后,可以使用header()直接跳转到授权页面,然后用户输入新浪微博帐户和密码进行授权。授权完成后,它将自动跳回到您在上一个参数中设置的回调页面:此链接可以设置为上一页,并且授权完成后,它将自动再次跳回。
应注意,有必要设置会话密钥的值。在下面获得的授权访问令牌中需要它。许多朋友可能会参考开放平台上的说明进行授权,但是他们发现总是存在错误。这通常是问题所在。您尚未设置会话的键值。当然,您不能在下面获取访问令牌的值。必须记住这一点。
3.最后是用户授权的访问令牌
复制代码,代码如下:
$ o =新的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']);
以上代码最终获得了用户授权的访问令牌。总共有两个值,它们存储在$ last_key数组变量中。我们还可以看到最后两个参数是我们之前设置的会话值。至此,基本完成。这是新浪微博用户授权的完整过程。
授权完成后的工作
授权完成后,我们可以开始调用新浪微博提供的各种API函数接口,以进行实际的应用程序开发。在这里,我将简要介绍获取最新微博记录的界面。其他都差不多。
获取新浪微博最新信息的API接口函数为:public_timeline(),示例代码如下:
复制代码,代码如下:
///获取前20条最新更新的公共微博消息
$ c =新的WeiboClient(WB_AKEY,
WB_SKEY
$ oauth_token
$ oauth_token_secret);
$ msg = $ c-> public_timeline();
if($ msg === false || $ msg === null){
回显“发生错误”;
返回假;
}
if(isset($ msg ['error_code'])&& isset($ msg ['error'])){
echo('Error_code:'。$ msg ['error_code']。'; Error:'。$ msg ['error']);
返回假;
}
print_r($ msg);
通常,在获得用户授权的访问令牌值之后,我们将其保存在用户表中并与我们应用程序中的帐户相对应。之后,我们不必每次都调用每个新浪微博API接口。我一直都在申请认证。
上面的代码非常简单,实例化WeiboClient对象,然后如果没有错误,则直接调用接口函数public_timeline以获取返回的信息。通常,新浪微博api接口返回的数据格式通常为Json格式或xml格式,我们在此处使用php开发,如果您以Json格式返回数据,则使用Json格式具有固有的优势。直接php函数json_decode()可以转换为PHP常用的数组格式。