使用新浪微博开放平台api同步微博内容至自己网站(今天下午弄了个新浪微博同步应用测试好多次,终于成功了)
优采云 发布时间: 2021-12-17 23:06使用新浪微博开放平台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 on line 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返回本地,我们可以在这个回调页面写微博,最后点击发布,从官方新浪微博登录,可以看到刚刚贴文章的留言,下面要标注“来自xxx”
这个道理不难理解。把$_SERVER['SCRIPT_URI']改成我们本地的地址,也就是目录的虚拟域名的地址,这样才能返回到callback.php,这样页面找不到是错误的。比如:我本地虚拟郁闷,我知道文件夹d:/www/,而我的weibodemo文件夹放在/www/下,那我把$_SERVER['SCRIPT_URI']改成后面的/callback.php连接没问题。
这样你就可以在显示“授权完成”后点击进入你的微博界面weobolist.php。进去之后惊呆了:蛮粗糙的,没有风格,简单的html形式,哈哈,新浪微博的程序员怎么这么懒。赶紧发个微博,测试一下,激动一下,哈哈。
总结一下,其实很简单,一共只有6个文件:config.php是配置文件,通过index.php进入新浪微博的认证授权页面,之后返回callback.php页面同意授权,点击进入我的微博,进入微博发帖列表页面weibolist.php,发微博即可。剩下的文件 weibooauth.php 是一个类文件,里面收录了很多类和函数,这些都是之前用过的。有兴趣的可以研究一下,不用管它。还有一件事。DS_Stor什么都不知道,打开就是乱码,没关系。估计没啥用
另外,提醒我注意页面的编码格式。如有乱码,请耐心调试。