使用新浪微博开放平台api同步微博内容至自己网站(PHP下通过API实现与新浪微博同步应用测试好多次)
优采云 发布时间: 2022-02-05 20:20使用新浪微博开放平台api同步微博内容至自己网站(PHP下通过API实现与新浪微博同步应用测试好多次)
(转贴) PHP下通过API与新浪微博同步
今天下午做了一个新浪微博同步应用,测试了很多次,终于成功了。说说我的配置过程吧。欢迎做客我的新浪微博!
首先,你必须有一个新浪微博账号。如果你没有,你可以注册一个。然后你就可以成为一名开发人员。可以点击微博账号,也可以直接输入网址:选择我是开发者,选择创建应用,填写开发。用户信息,成功后获取你的A*敏*感*词*EY和APPSECRET,复制并保存。
然后,去下载SDK文档,选择PHP语言,查看“通过OAuth认证方式”。这就是我使用的。点击下面的链接下载并解压到本地。
第三步,开始测试。将解压后的 weobodemo 文件夹复制到 test 目录下,也就是你的站点目录。您必须提前配置虚拟域名。不知道的可以参考我的另一篇文章文章,使用apache配置一个独立的虚拟域名。
weibodemo文件夹下有一个配置文件config.php。打开后你就知道该怎么做了。在里面写下你的 A*敏*感*词*EY 和 APPSECRET。在浏览器中打开这一层目录,自动运行index.php文件,无需赘述。
此时你会发现出错了:Notice:Undefinedindex:SCRIPT_URIinD:\www\weibodemo\index.phponline13
打开index.php发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本没有这个SCRIPT_URI,忽略它,点击下面的链接,然后报错:对不起,那个页面不存在!
至此,估计很多人都会放弃,一时之间不知所措。其实,不要把新浪微博写的关于应用开发的文章看的那么深,一般人都能看懂。仔细查看 index.php。刚才点击的链接地址是由WeiboOAuth类中的getAuthorizeURL方法生成的,和下一个回调函数相关,就是callback.php文件。
由此我们不难想到这个过程:首先获取本地配置文件config.php中的A*敏*感*词*EY和APPSECRET,然后我们要验证A*敏*感*词*EY是否合法,并询问我们是否授权应用更新微博同步,如果条件成立,则通过callback.php返回本地,我们可以在这个回调页面写微博,最后点击发布,从新浪官方微博登录,就可以看到刚刚发送的消息文章 ,以下应标记为“来自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。打开就是乱码,我不在乎。估计没用。
另外提醒大家注意页面的编码格式,如果出现乱码请耐心调试。