使用新浪微博开放平台api同步微博内容至自己网站( 今天下午弄了个新浪微博同步应用测试好多次,终于成功了)
优采云 发布时间: 2022-01-18 00:11使用新浪微博开放平台api同步微博内容至自己网站(
今天下午弄了个新浪微博同步应用测试好多次,终于成功了)
PHP下通过API与新浪微博同步
今天下午拿到了一个新浪微博同步应用,测试了很多次,终于成功了。先说一下我的配置过程。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个,然后你就可以成为开发者。可以点击微博,也可以直接输入网址:,选择我是开发者,选择创建应用,填写开发用户信息,成功后获取你的APP KEY和APP SECRET,复制保存.
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的APP KEY和APP SECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了: 注意:Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php 第13行
打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后报错:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的APP KEY和APP SECRET,然后我们要验证APP KEY是否合法,并询问我们是否授权应用同步更新微博,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚才的消息发布文章消息,下面要标注“from xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,就是它所在目录的虚拟域名的地址,这样就可以返回callback.php,这样就找不到页面了。错误的。例如:我的本地虚拟郁闷是我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我就改$_SERVER['SCRIPT_URI']连接到下面的/callback.php没关系。
这样你就可以在显示“授权完成”后点击进入你的微博界面weebolist.php。进入后你会惊讶:挺粗糙的,没有风格,简单的html表单,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动,呵呵。
我们可以总结一下,其实很简单。一共只有6个文件:config.php是配置文件。通过index.php进入新浪微博的验证授权页面。同意授权后,返回callback.php页面,点击进入。我的微博,去微博发布和列表页weibolist.php,然后发布微博,就OK了。剩下的文件weibooauth.php是一个类文件,里面有很多类和函数,都是前面用到的。如果你有兴趣,你可以研究它,但你可以忽略它。还有一个我一无所知的 .DS_Stor。打开就是乱码,我不在乎。估计没用。
另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。