0

0

微博应用--方舟船票

php中文网

php中文网

发布时间:2016-07-25 09:07:02

|

1311人浏览过

|

来源于php中文网

原创

微博小应用

2012,传说中的末日,不管真假,反正我是有诺亚方舟船票了…..

围观: http://endworld.sinaapp.com

—————————-

这是学习微博授权机制写的一个基于sae的小应用,用到了大量的GD函数

现在做下简单学习总结

1.首先要创建应用,申请appkey

新浪微博: http://open.weibo.com

腾讯社区: http://opensns.qq.com

腾讯微博: http://open.t.qq.com

2.创建完应用后,接下来我们下载相关的sdk,这里仅以php为例,注释已经写的很明白

新浪微博配置文件:

腾讯sdk : 麻花藤的东西很蛋疼,请直接下载文件,都有注释

3.一个好的应用最重要的是创意,尽情发挥你的想象
方舟船票是毫无新意的模仿,这里只简单介绍下.
①首先在 congfig.php 或 appkey.php 中填入申请到的appid 和 appkey,然后配置回调地址.
②获取用户信息,根据用户信息,使用php的gd库生成相应图片,生成图片时要注意的地方是:如果用户没有自定义过头像,头像类型是png,否则是jpg.如果是僵尸用户,可能获取不到图像和昵称.
③新浪的应用未上线时,即没通过审核时,只有开发者的账号可以使用应用,其他用户测试只能先在应用管理后台添加测试用户,并且测试用户大于10人才有机会通过审核,这是比较蛋疼的地方,但审核还是很容易通过的
⑤腾讯的应用未上线其他用户也能正常使用,但通过审核比较困难,应用中尽量不要用到非主旋律的词汇
4.方舟船票文件说明
index.php 首页登录按钮放置页
ticket-hall.php 微博回调页,引导用户开始使用
ticket.php 生成内容,为发送到微博做好准备
toweibo.php 将数据提交到微博
suc.php 告知用户成功

sdk下载: http://helong.org/download001/weibosdk.7z


方舟船票源码: http://helong.org/download001/endworld.7z

@王翔宇童鞋的疑问,这里做下说明:

程序中涉及到SAE中的storage等特性,所以只适用与sae...... 不能直接用于普通空间.......


index.php 31行 header('Location: http://endworld.sinaapp.com/qticket-hall.php'); 这是微博回调地址

qticket.php 16行,141行可以修改为相对路径,同理,涉及到的图片都可以修改为相对路径,个人代码性格不好,写的是绝对路径

ticket.php imagejpeg($im,SAE_TMP_PATH.'linshi.jpg',100);//读写方式:保存为临时文件,这里SAE_TMP_PATH是SAE中临时文件

ticket.php 156行 $s->upload('2012',$userid.'.jpg',SAE_TMP_PATH.'linshi.jpg');//这里用到了SAEstorage见http://apidoc.sinaapp.com/sae/SaeStorage.html#upload

一点PPT
一点PPT

一句话生成专业PPT,AI自动排版配图

下载

有什么需要改进的地方,欢迎童鞋拍砖交流

  1. session_start();
  2. include_once( 'config.php' );
  3. include_once( 'saetv2.ex.class.php' );
  4. $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
  5. ////////////
  6. //OAuth授权之后,获取授权用户的UID
  7. $uid_get = $c->get_uid();
  8. $uid = $uid_get['uid'];
  9. $user_message = $c->show_user_by_id( $uid);//根据ID获取用户等基本信息
  10. //////////////////////
  11. //获取用户发布的微博信息列表
  12. //user_timeline_by_id($uid,$page = 1,$count = 50,$since_id = 0,$max_id = 0,$feature = 0,$trim_user = 0,$base_app = 0)
  13. //$page: 页码
  14. ///$count: 每次返回的最大记录数,最多返回200条,默认50。
  15. //$uid: 指定用户UID或微博昵称
  16. //$since_id: 若指定此参数,则只返回ID比since_id大的微博消息(即比since_id发表时间晚的微博消息)。可选。
  17. //$max_id: 若指定此参数,则返回ID小于或等于max_id的提到当前登录用户微博消息。可选。
  18. //$base_app: 是否基于当前应用来获取数据。1为限制本应用微博,0为不做限制。默认为0。
  19. //$feature: 过滤类型ID,0:全部、1:原创、2:图片、3:视频、4:音乐,默认为0。
  20. //$trim_user: 返回值中user信息开关,0:返回完整的user信息、1:user字段仅返回uid,默认为0。
  21. $ms = $c->user_timeline_by_id($uid); // done
  22. ///////////////////
  23. //获取用户发布的微博信息列表
  24. //user_timeline_by_name ($screen_name,$page = 1,$count = 50,$since_id = 0,$max_id = 0,$feature = 0,$trim_user = 0,$base_app = 0)
  25. //$screen_name: 微博昵称,主要是用来区分用户UID跟微博昵称,当二者一样而产生歧义的时候,建议使用该参数
  26. ?>
  27. 新浪微博V2接口演示程序-Powered by Sina App Engine
  28. =$user_message['screen_name']?>,您好!
  29. 发送新微博

  30. ///////////////
  31. //发布一条微博信息。
  32. //update ($status,$lat纬度,$long经度,$annotations方便第三方记录数据例如array("a"=>"b", "c"=>"d")) )
  33. if( isset($_REQUEST['text']) ) {
  34. $ret = $c->update( $_REQUEST['text'] ); //发送微博
  35. if ( isset($ret['error_code']) && $ret['error_code'] > 0 ) {
  36. echo "

    发送失败,错误:{$ret['error_code']}:{$ret['error']}

    ";
  37. } else {
  38. echo "

    发送成功

    ";
  39. }
  40. }
  41. /////////////////////////
  42. echo "
    ------发表图片微博----------
    ";
  43. //发表图片微博,图片//$status: 要更新的微博信息。信息内容不超过140个汉字, 为空返回400错误。
  44. //$pic_path: 要发布的图片路径, 支持url。只支持png/jpg/gif三种格式,
  45. //$lat: 纬度,发表当前微博所在的地理位置,有效范围 -90.0到+90.0, +表示北纬。可选。
  46. //$long: 可选参数,经度。有效范围-180.0到+180.0, +表示东经。可选
  47. $status='发表图片微博测试测试2012年4月23日14:25:43';
  48. $pic_path='http://www.baidu.com/img/baidu_sylogo1.gif';
  49. $ret13 = $c->upload($status,$pic_path,$lat,$long);
  50. if( isset($ret13['error_code']) && $ret13['error_code'] > 0 ) {
  51. echo "

    发表图片微博失败,错误:{$ret7['error_code']}:{$ret7['error']}

    ";
  52. } else {
  53. echo "

    发表图片微博成功

    ";
  54. }
  55. ////////////////////
  56. echo "
    --------关注用户--------
    ";
  57. //关注用户
  58. //根据uid关注:follow_by_id ($uid)
  59. $ret2 = $c->follow_by_name('tohelong');
  60. if ( isset($ret2['error_code']) && $ret2['error_code'] > 0 ) {
  61. echo "

    关注失败,错误:{$ret2['error_code']}:{$ret2['error']}

    ";
  62. } else {
  63. echo "

    关注成功

    ";
  64. }
  65. ////////////////
  66. //为当前登录用户添加新的用户标签
  67. echo "
    ---------添加标签-------
    ";
  68. $ret6 = $c->add_tags("tag2,tag3,tag4,标签测试");;
  69. if( isset($ret6['error_code']) && $ret6['error_code'] > 0 ) {
  70. echo "

    添加标签失败,错误:{$ret6['error_code']}:{$ret6['error']}

    ";
  71. } else {
  72. echo "

    添加标签成功

    ";
  73. }
  74. ////////////////////////
  75. echo "
    --------收藏一条微博--------
    ";
  76. //收藏一条微博信息
  77. $sid='3437771555685532';
  78. $ret7 = $c->add_to_favorites ($sid);//$sid =收藏的微博id
  79. if( isset($ret7['error_code']) && $ret7['error_code'] > 0 ) {
  80. echo "

    收藏失败,错误:{$ret7['error_code']}:{$ret7['error']}

    ";
  81. } else {
  82. echo "

    收藏成功

    ";
  83. }
  84. ///////////////////////
  85. echo "
    --------互粉列表--------
    ";
  86. //互粉列表
  87. $ret8 = $c-> bilateral ($uid,1,50,0);
  88. //print_r($ret8);
  89. echo $ret8['users'][0]['location'];
  90. //////////////////////
  91. echo "
    -------表情---------
    ";
  92. $ret9 = $c->emotions ($type = "face",$language = "cnname");
  93. //"face":普通表情,"ani":魔法表情,"cartoon":动漫表情
  94. //print_r($ret9);
  95. echo "微博应用--方舟船票 ";
  96. //////////////////////
  97. echo "
    --------评论微博--------
    ";
  98. //对一条微博进行评论
  99. $id='3437771555685532';//帖子id
  100. $comment='评论测试测试';
  101. $ret10 = $c->send_comment($id,$comment,$comment_ori=0);
  102. //$comment_ori: 当评论转发微博时,是否评论给原微博,0:否、1:是,默认为0
  103. if( isset($ret10['error_code']) && $ret10['error_code'] > 0 ) {
  104. echo "

    评论失败,错误:{$ret7['error_code']}:{$ret7['error']}

    ";
  105. } else {
  106. echo "

    评论成功

    ";
  107. }
  108. /////////////////////
  109. echo "
    --------据帖子id获取微博和作者--------
    ";
  110. //根据ID获取单条微博信息内容
  111. $id='3437771555685532';//帖子id
  112. $ret11 = $c->show_status ($id);
  113. //print_r($ret11);
  114. echo $ret11['text'];
  115. echo $ret11['user']['screen_name'];
  116. echo $ret11['user']['location'];
  117. ///////////////////
  118. echo "
    -------用户名id获取资料和微博---------
    ";
  119. //根据用户UID或昵称获取用户资料.也返回最新微博。
  120. //show_user_by_name ($screen_name)
  121. $ret12 = $c->show_user_by_id($uid);
  122. //print_r($ret12);
  123. echo $ret12['screen_name'];
  124. echo "微博应用--方舟船票 ";
  125. echo $ret12['status']['text'];
  126. ////////////////////
  127. echo "
    ----------------
    ";
  128. ?>
  129. =$item['id'];?> =$item['text'];?>=$item['source'];?>
  • 复制代码


    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    WorkBuddy
    WorkBuddy

    腾讯云推出的AI原生桌面智能体工作台

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    TypeScript类型系统进阶与大型前端项目实践
    TypeScript类型系统进阶与大型前端项目实践

    本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

    26

    2026.03.13

    Python异步编程与Asyncio高并发应用实践
    Python异步编程与Asyncio高并发应用实践

    本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

    46

    2026.03.12

    C# ASP.NET Core微服务架构与API网关实践
    C# ASP.NET Core微服务架构与API网关实践

    本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

    178

    2026.03.11

    Go高并发任务调度与Goroutine池化实践
    Go高并发任务调度与Goroutine池化实践

    本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

    51

    2026.03.10

    Kotlin Android模块化架构与组件化开发实践
    Kotlin Android模块化架构与组件化开发实践

    本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

    92

    2026.03.09

    JavaScript浏览器渲染机制与前端性能优化实践
    JavaScript浏览器渲染机制与前端性能优化实践

    本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

    102

    2026.03.06

    Rust内存安全机制与所有权模型深度实践
    Rust内存安全机制与所有权模型深度实践

    本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

    227

    2026.03.05

    PHP高性能API设计与Laravel服务架构实践
    PHP高性能API设计与Laravel服务架构实践

    本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

    532

    2026.03.04

    AI安装教程大全
    AI安装教程大全

    2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

    171

    2026.03.04

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号