搜尋
首頁後端開發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

有什麼需要改進的地方,歡迎童鞋拍磚交流

  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. ///OA授權之後,取得授權使用者的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']; 🎜>echo "微博應用--方舟船票";
  124. echo $ret12['status']['text'];
  125. ///////// ////////////
  126. echo "
    ----------------
    ";
  127. ?>
  128. =$item['id'];?> =$item['text'];?>=$ item['source'];?>
  • 複製程式碼
    陳述
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    PHP和Python:解釋了不同的範例PHP和Python:解釋了不同的範例Apr 18, 2025 am 12:26 AM

    PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

    PHP和Python:深入了解他們的歷史PHP和Python:深入了解他們的歷史Apr 18, 2025 am 12:25 AM

    PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

    在PHP和Python之間進行選擇:指南在PHP和Python之間進行選擇:指南Apr 18, 2025 am 12:24 AM

    PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

    PHP和框架:現代化語言PHP和框架:現代化語言Apr 18, 2025 am 12:14 AM

    PHP在現代化進程中仍然重要,因為它支持大量網站和應用,並通過框架適應開發需求。 1.PHP7提升了性能並引入了新功能。 2.現代框架如Laravel、Symfony和CodeIgniter簡化開發,提高代碼質量。 3.性能優化和最佳實踐進一步提升應用效率。

    PHP的影響:網絡開發及以後PHP的影響:網絡開發及以後Apr 18, 2025 am 12:10 AM

    PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

    PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型?PHP類型提示如何起作用,包括標量類型,返回類型,聯合類型和無效類型?Apr 17, 2025 am 12:25 AM

    PHP類型提示提升代碼質量和可讀性。 1)標量類型提示:自PHP7.0起,允許在函數參數中指定基本數據類型,如int、float等。 2)返回類型提示:確保函數返回值類型的一致性。 3)聯合類型提示:自PHP8.0起,允許在函數參數或返回值中指定多個類型。 4)可空類型提示:允許包含null值,處理可能返回空值的函數。

    PHP如何處理對象克隆(克隆關鍵字)和__clone魔法方法?PHP如何處理對象克隆(克隆關鍵字)和__clone魔法方法?Apr 17, 2025 am 12:24 AM

    PHP中使用clone關鍵字創建對象副本,並通過\_\_clone魔法方法定制克隆行為。 1.使用clone關鍵字進行淺拷貝,克隆對象的屬性但不克隆對象屬性內的對象。 2.通過\_\_clone方法可以深拷貝嵌套對象,避免淺拷貝問題。 3.注意避免克隆中的循環引用和性能問題,優化克隆操作以提高效率。

    PHP與Python:用例和應用程序PHP與Python:用例和應用程序Apr 17, 2025 am 12:23 AM

    PHP適用於Web開發和內容管理系統,Python適合數據科學、機器學習和自動化腳本。 1.PHP在構建快速、可擴展的網站和應用程序方面表現出色,常用於WordPress等CMS。 2.Python在數據科學和機器學習領域表現卓越,擁有豐富的庫如NumPy和TensorFlow。

    See all articles

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    AI Hentai Generator

    AI Hentai Generator

    免費產生 AI 無盡。

    熱門文章

    R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
    1 個月前By尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳圖形設置
    1 個月前By尊渡假赌尊渡假赌尊渡假赌
    威爾R.E.P.O.有交叉遊戲嗎?
    1 個月前By尊渡假赌尊渡假赌尊渡假赌

    熱工具

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    Atom編輯器mac版下載

    Atom編輯器mac版下載

    最受歡迎的的開源編輯器

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中