您的位置:首頁技術文章
文章詳情頁

基于PHP實現發微博動態代碼實例

瀏覽:154日期:2022-06-01 17:38:34

首先,肯定是注冊成為開發者新浪微博開放平臺

選擇網站應用,填寫一些基本信息

填完后在‘我的應用’中,會看到剛創建的應用信息,我們只是簡單的測試一下,所以其他復雜的注冊信息都不用填寫,有這些就夠了

很重要的一點,回調地址填寫↓,回調地址是微博返回數據的地址,一定要填寫完全一致

接下來,就是代碼部分了:

隨便創建一個頁面,可以是一個a標簽,或者自己找一個新浪的圖標,隨你喜歡

<a href=’https://api.weibo.com/oauth2/authorize?client_id=2259374069&redirect_uri=http://www.huazi.com/good/login.php’>微博登錄</a>

client_id 就是填寫完應用信息后獲得的App Key

redirect_uri 就是高級信息里面的回調地址

瀏覽器輸入這個頁面的地址,點擊,會跳轉到授權頁面,點擊授權并登陸

到回調地址頁面,這是,回調地址會返回一個臨時code,我們可以用code來換取token

<?phpheader(’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 '<br>'; // echo '<pre>'; // print_r(json_decode($content,true));

至此,就獲取到了我們需要的token信息,已經實現了新浪第三方登錄

把token取出來,通過token可以操作很多東西,傳不同的參數和URL就可以,我以發微博為例

<?phpheader(’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 '<br>'; echo '<pre>'; print_r(json_decode($content,true));

我們發現,這段代碼下面的部分跟上段代碼一樣,沒錯,就是這樣的

在瀏覽起輸入這個頁面的地址,再去看看你的微博,是不是成功發了一條微博?

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: 微博
相關文章:
国产综合久久一区二区三区