这篇文章主要介绍了基于PHP实现发微博动态代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
首先,肯定是注册成为开发者新浪微博开放平台
选择网站应用,填写一些基本信息
填完后在‘我的应用中,会看到刚创建的应用信息,我们只是简单的测试一下,所以其他复杂的注册信息都不用填写,有这些就够了
很重要的一点,回调地址填写↓,回调地址是微博返回数据的地址,一定要填写完全一致
接下来,就是代码部分了:
随便创建一个页面,可以是一个a标签,或者自己找一个新浪的图标,随你喜欢
微博登录
client_id 就是填写完应用信息后获得的App Key
redirect_uri 就是高级信息里面的回调地址
浏览器输入这个页面的地址,点击,会跳转到授权页面,点击授权并登陆
到回调地址页面,这是,回调地址会返回一个临时code,我们可以用code来换取token
header(content-type:text/html;charset=utf-8);
$code = $_GET[code]; //获取code
$url = https://api.weibo.com/oauth2/access_token; //获取token的地址
$client_id = 2259374069; //App Key
$client_secret = 你的App Secret; //App Secret
$grant_type = authorization_code; //获取类型
$redirect_uri = http://www.huazi.com/good/login.php; //回调地址
// echo $code;die;
//模拟登陆数据
$vars[client_id] = $client_id;
$vars[client_secret] = $client_secret;
$vars[grant_type] = $grant_type;
$vars[code] = $code;
$vars[redirect_uri] = $redirect_uri;
//使用CURL模拟登录信息
$method_post = true;
$ch =curl_init();
$params[CURLOPT_URL] = $url;
$params[CURLOPT_HEADER] = false;
$params[CURLOPT_RETURNTRANSFER] = true;
$params[CURLOPT_FOLLOWLOCATION] = true;
$params[CURLOPT_USERAGENT] = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0;
$params[CURLOPT_SSL_VERIFYPEER] = false;
$params[CURLOPT_SSL_VERIFYHOST] = false;
//格式化地址信息
$postfields = ;
foreach ($vars as $key => $value) {
$postfields .= urlencode($key) . = . urlencode($value) . &;
}
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] =$postfields;
curl_setopt_array($ch, $params);
$content = curl_exec($ch);
//如果发生curl错误可以使用curl_error查看错误信息
// var_dump(curl_error($ch));
echo $content;
// echo “
“;
// echo “
";
// print_r(json_decode($content,true));至此,就获取到了我们需要的token信息,已经实现了新浪第三方登录
把token取出来,通过token可以操作很多东西,传不同的参数和URL就可以,我以发微博为例
header(content-type:text/html;charset=utf-8);
$url = https://api.weibo.com/2/statuses/update.json;
$access_token = 刚才获取的token;
$status = 我的测试微博; //你要发的微博内容
//模拟登陆数据
$vars[access_token] = $access_token;
$vars[status] = $status;
$method_post = true;
$ch =curl_init();
$params[CURLOPT_URL] = $url;
$params[CURLOPT_HEADER] = false;
$params[CURLOPT_RETURNTRANSFER] = true;
$params[CURLOPT_FOLLOWLOCATION] = true;
$params[CURLOPT_USERAGENT] = Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0;
$params[CURLOPT_SSL_VERIFYPEER] = false;
$params[CURLOPT_SSL_VERIFYHOST] = false;
$postfields = ;
foreach ($vars as $key => $value) {
$postfields .= urlencode($key) . = . urlencode($value) . &;
}
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] =$postfields;
curl_setopt_array($ch, $params);
$content = curl_exec($ch);
// var_dump(curl_error($ch));
echo $content;
echo "
";
echo "";
print_r(json_decode($content,true));我们发现,这段代码下面的部分跟上段代码一样,没错,就是这样的
在浏览起输入这个页面的地址,再去看看你的微博,是不是成功发了一条微博?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
来源:脚本之家
链接:https://www.jb51.net/article/201960.htm