佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > 基于PHP實(shí)現(xiàn)發(fā)微博動(dòng)態(tài)代碼實(shí)例

基于PHP實(shí)現(xiàn)發(fā)微博動(dòng)態(tài)代碼實(shí)例

熱門標(biāo)簽:服務(wù)器配置 Mysql連接數(shù)設(shè)置 團(tuán)購(gòu)網(wǎng)站 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 阿里云 Linux服務(wù)器 電子圍欄 銀行業(yè)務(wù)

首先,肯定是注冊(cè)成為開(kāi)發(fā)者新浪微博開(kāi)放平臺(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í)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP底層運(yùn)行機(jī)制與工作原理詳解
  • PHP7數(shù)組的底層實(shí)現(xiàn)示例
  • PHP的運(yùn)行機(jī)制與原理(底層)
  • PHP isset empty函數(shù)相關(guān)面試題及解析
  • PHP數(shù)組實(shí)際占用內(nèi)存大小原理解析
  • PHP基于ip2long實(shí)現(xiàn)IP轉(zhuǎn)換整形
  • PHP哈希表實(shí)現(xiàn)算法原理解析
  • 深入解析PHP底層機(jī)制及相關(guān)原理

標(biāo)簽:蚌埠 江蘇 廣元 大理 萍鄉(xiāng) 棗莊 衢州 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于PHP實(shí)現(xiàn)發(fā)微博動(dòng)態(tài)代碼實(shí)例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    社会| 尼木县| 阿巴嘎旗| 连州市| 浮梁县| 来凤县| 高要市| 通海县| 东山县| 林芝县| 来安县| 泗洪县| 永清县| 大名县| 建湖县| 阜平县| 丰顺县| 白玉县| 繁峙县| 龙南县| 遂平县| 普安县| 大理市| 济源市| 万州区| 威海市| 布尔津县| 福清市| 蒙阴县| 楚雄市| 增城市| 德州市| 嘉兴市| 客服| 明溪县| 浑源县| 龙口市| 苍南县| 进贤县| 昌邑市| 盘山县|