Jadual Kandungan
发送新微博
Rumah pembangunan bahagian belakang tutorial php 微博应用--方舟船票

微博应用--方舟船票

Jul 25, 2016 am 09:07 AM

微博小应用

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

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

  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'];?>
  • 复制代码


    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Repo: Cara menghidupkan semula rakan sepasukan
    1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    11 skrip pemendek URL terbaik PHP (percuma dan premium) 11 skrip pemendek URL terbaik PHP (percuma dan premium) Mar 03, 2025 am 10:49 AM

    URL panjang, sering berantakan dengan kata kunci dan parameter penjejakan, boleh menghalang pelawat. Skrip pemendekan URL menawarkan penyelesaian, mewujudkan pautan ringkas yang sesuai untuk media sosial dan platform lain. Skrip ini sangat berharga untuk laman web individu a

    Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

    Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

    Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

    Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

    Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Mar 04, 2025 am 09:33 AM

    Ini adalah bahagian kedua dan terakhir siri untuk membina aplikasi React dengan back-end Laravel. Di bahagian pertama siri ini, kami mencipta API RESTful menggunakan Laravel untuk aplikasi penyenaraian produk asas. Dalam tutorial ini, kita akan menjadi dev

    Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

    Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

    12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

    Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

    Pengumuman Penyiasatan Situasi PHP 2025 Pengumuman Penyiasatan Situasi PHP 2025 Mar 03, 2025 pm 04:20 PM

    Tinjauan Landskap PHP 2025 menyiasat trend pembangunan PHP semasa. Ia meneroka penggunaan rangka kerja, kaedah penempatan, dan cabaran, yang bertujuan memberi gambaran kepada pemaju dan perniagaan. Tinjauan ini menjangkakan pertumbuhan dalam PHP Versio moden

    Pemberitahuan di Laravel Pemberitahuan di Laravel Mar 04, 2025 am 09:22 AM

    Dalam artikel ini, kami akan meneroka sistem pemberitahuan dalam rangka kerja web Laravel. Sistem pemberitahuan di Laravel membolehkan anda menghantar pemberitahuan kepada pengguna melalui saluran yang berbeza. Hari ini, kami akan membincangkan bagaimana anda boleh menghantar pemberitahuan ov

    See all articles