首先,肯定是注册成为开发者新浪微博开放平台
选择网站应用,填写一些基本信息

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

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

接下来,就是代码部分了:
随便创建一个页面,可以是一个a标签,或者自己找一个新浪的图标,随你喜欢

[PHP] 纯文本查看 复制代码
?
1
<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

[PHP] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
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就可以,我以发微博为例

[PHP] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
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

php简单实现发微博动态相关推荐

  1. php 发微博实例,基于PHP实现发微博动态代码实例

    首先,肯定是注册成为 选择网站应用,填写一些基本信息 填完后在'我的应用'中,会看到刚创建的应用信息,我们只是简单的测试一下,所以其他复杂的注册信息都不用填写,有这些就够了 很重要的一点,回调地址填写 ...

  2. 用python定时自动发微博_Python脚本实现自动发带图的微博

    要自动发微博最简单的办法无非是调用新浪微博的API(因为只是简单的发微博,就没必要用它的SDK了).参考开发文档http://open.weibo.com/wiki/API 进行代码编写 创建应用 要 ...

  3. java 微博sdk_Java基于新浪微博SDK实现发微博的功能

    背景 最近用实现了一个简单的发微博的功能. 新浪微博的SDK已经经历了多次更新,而网上的资料.教程大多还是基于旧版本的,很多细节上有了一些变化.本文将基于最新的新浪微博SDK介绍发微博的过程. 简介 ...

  4. android仿微信发布动态功能,Android GridView扩展仿微信微博发图动态添加删除图片功能.pdf...

    Android GridView扩扩展展仿仿微微信信微微博博发发图图动动态态添添加加删删除除图图片片功功能能 这篇文章主要为大家详细介绍了Android GridView扩展仿微信微博发图动态添加删除 ...

  5. python实现雪花动态图_如何通过雪花算法用Python实现一个简单的发号器

    实现一个简单的发号器 根据snowflake算法的原理实现一个简单的发号器,产生不重复.自增的id. 1.snowflake算法的简单描述 这里的snowflake算法是用二进制的,有64位.其中41 ...

  6. 要怎么通过PHP发布微博动态:附代码详解

    今天主要聊聊关于如何通过PHP发布微博动态(代码详解),这里通过一些实例讲解与代码示例让大家通过直观的表现了解其中内容,相信大家能从中收获到有用的知识. 首先,肯定是注册成为开发者新浪微博开放平台 选 ...

  7. jsoup实现微博登陆及发微博(带验证码)

    前言 很早之前用别的语言写过一次微博登陆,现在改成java版,主要是为了验证jsoup的强大,一款完全可胜任http请求和html解析的工具.抓包,抽取js的方法这里就不在赘述. 工具 jsoup-1 ...

  8. 用python写了个脚本,大V发微博实时提醒(wu2198为例)(附下载)

    有些大V的微博,真的是一秒钟都不想错过.想要实时掌握动态,但是又不想一直盯着微博,一直F5.所以,我就写了个脚本解决这个问题. 用python 写了一个脚本,大V发微博可以实时提醒,再也不会遗漏大V的 ...

  9. python怎么爬取知乎回答并制作词云_爬虫|爬取微博动态

    ​ 爬取微博是爬虫新手入门项目,相对简单.但没想到还是遇到了些问题.. 0 踩点 老规矩第一步先踩点.某个用户的微博网址为:https://weibo.com/u/id,其中id是一长串数字,每个用户 ...

最新文章

  1. 【C++】【OpenCv】图片加噪声处理,计时,及键盘事件响应捕捉
  2. Update of SharePoint Me
  3. alluxio源码解析-层次化存储(4)
  4. windows安装pycocotools错误:cl : Command line error D8021 : invalid numeric argument '/Wno-cpp'
  5. CSP-S集训刷题记录
  6. Nsis 使用1-- 依条件显示自定义页面 custom page on condition
  7. input 框 去掉下面的提示文字、提示选项
  8. linux给命令起别名命令,alias命令 – 设置命令别名
  9. 100 以内的数的研究
  10. CodeForces round 753 problem B Odd Grasshopper(奇怪的蚱蜢)
  11. icem网格数和节点数_icem如何查看网格数量
  12. macos蓝牙驱动和wifi驱动名称_win7蓝牙装不上?别急着捣鼓驱动软件啦!可能是硬件问题!...
  13. android制作镜像,android镜像制作方法
  14. 庄子(公元前369年-公元前286年)
  15. 二阶魔方万能还原公式_【二阶篇】一个万能公式还原二阶魔方
  16. [Android问答] 如何获得手机屏幕分辨率?
  17. Canvas 绘制圆形图片、绘制圆角矩形图片
  18. 感恩节跟进技巧(附邮件模板)
  19. 【Java中实现微信公众号模板消息推送】
  20. php需要做临时表嘛,php中使用临时表查询数据的一个例子

热门文章

  1. Android Studio 快捷键大全
  2. Excel如何将合并单元格后面的数据合并
  3. Linux_命令行基础及挂载和目录文件管理
  4. 民生银行加入R3区块链联盟
  5. ShaderToy入门教程(2) - 光照和相机
  6. termux获取sd卡读写权限_TF卡戴套客串SD卡真的靠谱吗?用数据说话
  7. 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )
  8. 微积分的历史(一):起源之背景
  9. 【SymbolicLink】利用软连接将已安装程序搬迁到其他盘符
  10. 实现支付宝全额退款和部分退款功能