基于PHP實(shí)現(xiàn)發(fā)微博動(dòng)態(tài)代碼實(shí)例
首先,肯定是注冊(cè)成為開發(fā)者新浪微博開放平臺(tái)
選擇網(wǎng)站應(yīng)用,填寫一些基本信息
填完后在‘我的應(yīng)用'中,會(huì)看到剛創(chuàng)建的應(yīng)用信息,我們只是簡(jiǎn)單的測(cè)試一下,所以其他復(fù)雜的注冊(cè)信息都不用填寫,有這些就夠了
很重要的一點(diǎn),回調(diào)地址填寫↓,回調(diào)地址是微博返回?cái)?shù)據(jù)的地址,一定要填寫完全一致
接下來(lái),就是代碼部分了:
隨便創(chuàng)建一個(gè)頁(yè)面,可以是一個(gè)a標(biāo)簽,或者自己找一個(gè)新浪的圖標(biāo),隨你喜歡
<a >微博登錄</a>
client_id 就是填寫完應(yīng)用信息后獲得的App Key
redirect_uri 就是高級(jí)信息里面的回調(diào)地址
瀏覽器輸入這個(gè)頁(yè)面的地址,點(diǎn)擊,會(huì)跳轉(zhuǎn)到授權(quán)頁(yè)面,點(diǎn)擊授權(quán)并登陸
到回調(diào)地址頁(yè)面,這是,回調(diào)地址會(huì)返回一個(gè)臨時(shí)code,我們可以用code來(lái)?yè)Q取token
<?php
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'; //回調(diào)地址
// echo $code;die;
//模擬登陸數(shù)據(jù)
$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);
//如果發(fā)生curl錯(cuò)誤可以使用curl_error查看錯(cuò)誤信息
// var_dump(curl_error($ch));
echo $content;
// echo "<br>";
// echo "<pre>";
// print_r(json_decode($content,true));
至此,就獲取到了我們需要的token信息,已經(jīng)實(shí)現(xiàn)了新浪第三方登錄
把token取出來(lái),通過(guò)token可以操作很多東西,傳不同的參數(shù)和URL就可以,我以發(fā)微博為例
<?php
header('content-type:text/html;charset=utf-8');
$url = 'https://api.weibo.com/2/statuses/update.json';
$access_token = '剛才獲取的token';
$status = '我的測(cè)試微博'; //你要發(fā)的微博內(nèi)容
//模擬登陸數(shù)據(jù)
$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 "<br>";
echo "<pre>";
print_r(json_decode($content,true));
我們發(fā)現(xiàn),這段代碼下面的部分跟上段代碼一樣,沒(méi)錯(cuò),就是這樣的
在瀏覽起輸入這個(gè)頁(yè)面的地址,再去看看你的微博,是不是成功發(fā)了一條微博?
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
PHP 獲取視頻時(shí)長(zhǎng)的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了php獲取視頻時(shí)長(zhǎng)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-07-07
laravel 修改記住我功能的cookie保存時(shí)間的方法
今天小編就為大家分享一篇laravel 修改記住我功能的cookie保存時(shí)間的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
ci檢測(cè)是ajax還是頁(yè)面post提交數(shù)據(jù)的方法
這篇文章主要介紹了ci檢測(cè)是ajax還是頁(yè)面post提交數(shù)據(jù)的方法,以PHP的環(huán)境變量為基礎(chǔ)實(shí)例展示了針對(duì)CI框架配置文件的修改技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11
PHP代碼判斷設(shè)備是手機(jī)還是平板電腦(兩種方法)
隨著互聯(lián)網(wǎng)移動(dòng)設(shè)備的普及,很多網(wǎng)站都兼容手機(jī)端瀏覽,為了更好的讓網(wǎng)頁(yè)在手機(jī)端顯示,我們都選擇了使用CSS媒體查詢制作響應(yīng)式模版。本文給大家介紹PHP代碼判斷設(shè)備是手機(jī)還是平板電腦(兩種方法),感興趣的朋友一起學(xué)習(xí)吧2015-10-10
php使用Swoole實(shí)現(xiàn)毫秒級(jí)定時(shí)任務(wù)的方法
這篇文章主要介紹了php使用Swoole實(shí)現(xiàn)毫秒級(jí)定時(shí)任務(wù)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Zend Framework校驗(yàn)器Zend_Validate用法詳解
這篇文章主要介紹了Zend Framework校驗(yàn)器Zend_Validate用法,結(jié)合實(shí)例形式分析了校驗(yàn)器Zend_Validate的功能、使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-12-12

