微博php-sdk使用教程,腾讯微博api(php-sdk)的使用

弄了半天终于申请到了腾讯微博的开发者账号了,得到了api后发现不会用,下载了php-sdk,稍微看了下大概就是三个类,一个oauth协议的,一个是腾讯扩展的oauth协议的opent也就是用来授权的。还有一个就是最重要的api_client了这个就是用来获取微博信息的api了。

按照它的说明先把这东西的config文件给改了,然后上传到我的博客上,然后访问index.php。然后点击进入授权就到了腾讯授权界面了,输入账号密码后授权成功就会返回,然后点击测试页面就输出了数组形式的微博信息了。

好了这个是完成了,可是要怎么用啊,难道每次都需要授权么,刚开始的时候我也是这么想的,就写oauth授权的api,每次都认证一下然后在调用api,后来发现这样子每次都需要登录腾讯的网站,还得手工操作不行啊!!!www.chaochaoblog.com

然后就看了下cmd.php的代码:如下

@header('Content-Type:text/html;charset=utf-8');

session_start();

@require_once('config.php');

@require_once('oauth.php');

@require_once('opent.php');

@require_once('api_client.php');

$c = new MBApiClient( MB_AKEY , MB_SKEY , $_SESSION[‘last_key’][‘oauth_token’] , $_SESSION[‘last_key’][‘oauth_token_secret’] );

//时间线

$p =array(

‘f’ => 0,

‘t’ => 0,

‘n’ => 5

);

var_dump($c->getTimeline($p));

就是了,一看它new的一个MBApiClient中有两个session变量保存的值$_SESSION[‘last_key’][‘oauth_token’],$_SESSION[‘last_key’][‘oauth_token_secret’]。

对了,没错,这个就是你授权成功后服务器返回给你的密钥了,以后只要使用这个就ok了,也就是说授权只需要一次就ok了。

然后我用echo 把这两个值打印出来 ………………… …………………

然后把这两个值代替cmd中的两个变量。

再上传到空间中,直接访问cmd.php 哈哈 成功了 数据数组出现了,不会显示鉴权失败了。

ok以后就只要构造这个MBApiClient类,然后就尽情的使用它的api吧!!!!

如无特别说明,本博客文章皆为原创。转载请说明,来自吵吵博客。

吵吵微信朋友圈,请付款实名加入:

1. 首先,需要在腾讯云控制台中创建一个存储桶,并获取存储桶的信息,包括存储桶名称、访问密钥ID、访问密钥Secret、存储桶所在地域等。 2. 在PHP代码中,使用curl函数调用腾讯云COS API进行操作。具体步骤如下: (1)构造API请求的URL和参数。API请求的URL格式为:http://[bucket-name].cos.[region].myqcloud.com/[object],其中[bucket-name]为存储桶名称,[region]为存储桶所在地域,[object]为对象名称(可选)。 (2)生成API请求的签名。签名是用于验证请求合法性的关键信息,需要使用访问密钥ID和访问密钥Secret进行计算。计算签名的具体方法可以参考腾讯云COS API文档中的签名方法。 (3)发送API请求。使用curl函数发送API请求,并在请求头中设置Authorization等相关参数。 (4)处理API响应。根据API返回的HTTP状态码和响应内容进行相应的处理,例如上传文件、下载文件、删除文件等操作。 3. 示例代码如下: ```php // 存储桶信息 $bucket = "mybucket-1250000000"; $region = "ap-chengdu"; $accessKeyId = "AKIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; $accessKeySecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // API请求参数 $object = "test.txt"; $url = "http://{$bucket}.cos.{$region}.myqcloud.com/{$object}"; $method = "PUT"; $httpHeaders = [ "Content-Type: text/plain", "Content-Length: 11", ]; $httpBody = "Hello World"; // 生成签名 $timestamp = time(); $expired = $timestamp + 3600; // 签名有效期1小时 $sign = md5("{$accessKeySecret}\n{$timestamp}\n{$expired}\n0\n"); $authorization = "q-sign-algorithm=sha1&q-ak={$accessKeyId}&q-sign-time={$timestamp};{$expired}&q-key-time={$timestamp};{$expired}&q-header-list=content-type;content-length&q-url-param-list=&q-signature={$sign}"; // 发送API请求 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); curl_setopt($ch, CURLOPT_HTTPHEADER, $httpHeaders); curl_setopt($ch, CURLOPT_POSTFIELDS, $httpBody); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Authorization: {$authorization}", ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); // 处理API响应 if ($httpCode == 200) { echo "上传成功"; } else { echo "上传失败,错误码:{$httpCode}"; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值