基于PHP实现发微博动态代码实例

吾爱主题 阅读:148 2021-11-01 15:57:00 评论:0

首先,肯定是注册成为开发者新浪微博开放平台

选择网站应用,填写一些基本信息

填完后在‘我的应用'中,会看到刚创建的应用信息,我们只是简单的测试一下,所以其他复杂的注册信息都不用填写,有这些就够了

很重要的一点,回调地址填写↓,回调地址是微博返回数据的地址,一定要填写完全一致

接下来,就是代码部分了:

随便创建一个页面,可以是一个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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <?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' ;  //回调地址   // 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就可以,我以发微博为例

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 <?php 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 "<br>" ;    echo "<pre>" ;    print_r(json_decode( $content ,true));

我们发现,这段代码下面的部分跟上段代码一样,没错,就是这样的

在浏览起输入这个页面的地址,再去看看你的微博,是不是成功发了一条微博?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.cnblogs.com/ghjbk/p/6879251.html

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容