基于PHP實(shí)現(xiàn)發(fā)微博動態(tài)代碼實(shí)例
首先,肯定是注冊成為開發(fā)者新浪微博開放平臺
選擇網(wǎng)站應(yīng)用,填寫一些基本信息
填完后在‘我的應(yīng)用'中,會看到剛創(chuàng)建的應(yīng)用信息,我們只是簡單的測試一下,所以其他復(fù)雜的注冊信息都不用填寫,有這些就夠了
很重要的一點(diǎn),回調(diào)地址填寫↓,回調(diào)地址是微博返回?cái)?shù)據(jù)的地址,一定要填寫完全一致
接下來,就是代碼部分了:
隨便創(chuàng)建一個頁面,可以是一個a標(biāo)簽,或者自己找一個新浪的圖標(biāo),隨你喜歡
<a >微博登錄</a>
client_id 就是填寫完應(yīng)用信息后獲得的App Key
redirect_uri 就是高級信息里面的回調(diào)地址
瀏覽器輸入這個頁面的地址,點(diǎn)擊,會跳轉(zhuǎn)到授權(quán)頁面,點(diǎn)擊授權(quán)并登陸
到回調(diào)地址頁面,這是,回調(diào)地址會返回一個臨時code,我們可以用code來換取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錯誤可以使用curl_error查看錯誤信息 // var_dump(curl_error($ch)); echo $content; // echo "<br>"; // echo "<pre>"; // print_r(json_decode($content,true));
至此,就獲取到了我們需要的token信息,已經(jīng)實(shí)現(xiàn)了新浪第三方登錄
把token取出來,通過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 = '我的測試微博'; //你要發(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),這段代碼下面的部分跟上段代碼一樣,沒錯,就是這樣的
在瀏覽起輸入這個頁面的地址,再去看看你的微博,是不是成功發(fā)了一條微博?
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在Laravel 的 Blade 模版中實(shí)現(xiàn)定義變量
今天小編就為大家分享一篇在Laravel 的 Blade 模版中實(shí)現(xiàn)定義變量,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10yii2中dropDownList實(shí)現(xiàn)二級和三級聯(lián)動寫法
本篇文章主要介紹了yii2中dropDownList實(shí)現(xiàn)二級和三級聯(lián)動寫法 ,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-04-04Zend Framework教程之Zend_Helpers動作助手ViewRenderer用法詳解
這篇文章主要介紹了Zend Framework教程之Zend_Helpers動作助手ViewRenderer用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Zend_Helpers動作助手ViewRenderer的功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-07-07ThinkPHP3.2.3數(shù)據(jù)庫設(shè)置新特性
前篇文章,我們總結(jié)了下ThinkPHP3.2中所產(chǎn)生的新變化,本文我們來詳細(xì)看下關(guān)于數(shù)據(jù)庫這塊有哪些新特性,非常細(xì)致,有需要的小伙伴參考下。2015-03-03