热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP下通过API实现与新浪微博同步

今天下午弄了个新浪微博同步应用,测试好多次,终于成功了,下面说一下我的配置过程。欢迎大家来我的新浪微博做

今天下午弄了个新浪微博同步应用,测试好多次,终于成功了,下面说一下我的配置过程。欢迎大家来我的新浪微博做客!

首先, 得有sina微博的帐号,没有就注册一个,然后做个开发者,可以从微博中点过去,也可以直接输入网 址:http://open.t.sina.com.cn,选择我是开发者,在选择创建应用,进去填写开发者信息,成功之后获得你的APP KEY 和 APP SECRET,把它们复制下来,保存好了。

然后,去下载SDK文档,选择PHP语言的,看到“通过OAuth验证方式 ”,我用的就是这个,点下面的链接download下来,解压到本地。

第三步,开始测试了。把解压后的文件中的weobodemo文件夹拷贝到测试的目录下面,也就是你的站点目录,提前要得配置好虚拟域名,不会的可以参考我的另一篇文章,用apache配置独立虚拟域名。

weibodemo这个文件夹下面有个配置文件config.php,打开之后该做什么,你也就知道了,把你的APP KEY 和 APP SECRET 写进去。在浏览器中打开这一层目录,自动运行index.php文件,就不啰嗦了。

到这你会发现,出错了:Notice: Undefined index: SCRIPT_URI in D:\www\weibodemo\index.php on line 13

打开index.php,发现$_SERVER['SCRIPT_URI'],$_SERVER的参数根本就没有这个SCRIPT_URI,先别管,点击下面的链接,接着又出错:Sorry, that page doesn’t exist!

到这,估计好多人要放弃了,一下子不知道该怎么办了。其实,别把新浪微博这写应用开发想的那么高深,一般人是能够看明白的。仔细瞅瞅index.php吧,刚才点击的链接地址是WeiboOAuth这个类里面的getAuthorizeURL这个方法生成的,而且和接下来的callback函数有关,也就是callback.php文件。

从这,我们不难想到这个过程:先获取本地配置文件config.php中的APP KEY 和APP SECRET,接着肯定是要验证这个APP KEY 是否合法,另外询问我们是否授权给这个应用来同步更新微博,如果条件成立,那么就通过callback.php返回到本地上来,我们就可以在这个回调页面上写微博,最后点击发表,从t.sina.com.cn新浪官方微博上登录进去就可以看见刚才所发的文章消息了,下面应该注明“来自xxx”

了 解这个原理就不难了,把$_SERVER['SCRIPT_URI']改为我们本地的地址,也就是所在目录虚拟域名的地址,以便于返回到 callback.php上来,这样就不会出现找不到页面的错误了。比如:我的本地虚拟郁闷是http://localhost.com,知道d: /www/这个文件夹,我的weibodemo文件夹就放在/www/下面,那么我就把$_SERVER['SCRIPT_URI']改为http://localhost.com/weibodemo,连上后面的/callback.php就OK了。

这样就可以在显示“授权完成”后,点击进入你的微博界面weobolist.php,进去之后,你大吃一惊:相当的粗糙啊,没有样式,简单的html表单,哈哈,新浪微博的程序员怎么这么懒啊。赶紧发一条微博,测试一下吧,心里激动吧,呵呵。

我 们可以总结一下,其实蛮简单的,一共也就6个文件:config.php是配置文件,通过index.php进入到新浪微博的验证授权页面,同意授权之后 回到callback.php页面,点击进入我的微博,进到微博发表以及列表页weibolist.php,然后发表微博,就OK了。剩下的一个文件 weibooauth.php是一个类文件,装着许多类和函数,都是前面用到的,有兴趣的可以研究,可以不必理会它。还一个.DS_Stor不知道什么东西,打开是乱码,也不管了,估计没什么用的。

另外,提醒一下注意页面的编码格式,出现乱码的自己耐心的调试一下。


推荐阅读
  • Redis: 高效的键值存储系统
    Redis是一款遵循BSD许可的开源高性能键值存储系统,它不仅支持多种数据类型的存储,还提供了数据持久化和复制等功能,显著区别于其他键值缓存解决方案。 ... [详细]
  • 现在的新手程序猿,动不动就是框架,就连外面培训的也是框架,我就问一句,没了框架是不是就啥也不会了 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • 本文由chszs撰写,详细介绍了Apache Mina框架的核心开发流程及自定义协议处理方法。文章涵盖从创建IoService实例到协议编解码的具体步骤,适合希望深入了解Mina框架应用的开发者。 ... [详细]
  • ED Tree HDU4812 点分治+逆元
    这道题非常巧妙!!!我们进行点分治的时候,算出当前子节点的所有子树中的节点,到当前节点节点的儿子节点的距离,如下图意思就是当前节点的红色节点,我们要求出红色节点的儿子节点绿色节点, ... [详细]
  • 本文详细介绍了Apache Spark 2.2.0版本中集群模式的基本概念和工作流程,包括如何通过集群管理器分配资源,以及Spark应用程序在集群中的运行机制。链接:http://spark.apache.org/docs/2.2.0/cluster-overview.html ... [详细]
  • Maven快照版本管理及更新策略详解
    本文深入探讨了Maven中的快照版本管理和更新策略,解释了快照版本与正式版本的区别,并提供了如何配置快照更新策略的方法,以确保项目依赖始终保持最新。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 汇编语言标识符和表达式(四)(表达式与符号定义语句)
    7、表达式表达式是程序设计课程里的一个重要的基本概念,它可由运算符、操作符、括号、常量和一些符号连在一起的式子。在汇编语言中,表达式分为:数值表达式和地址表达式。(1)进制伪指令R ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
author-avatar
中华oc博弈网络志
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有