微博小應用
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
有什麼需要改進的地方,歡迎童鞋拍磚交流
-
session_start();
- include_once( 'config.php' );
- include_once( 'saetv2.ex.class.php' );
- $c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
- ////////////
- ///OA授權之後,取得授權使用者的UID
- $uid_get = $c->get_uid();
- $uid = $uid_get['uid'];
-
- $user_message = $c->show_user_by_id( $ uid);//根據ID取得使用者等基本資訊
-
- //////////////////////
- //取得使用者發佈的微博資訊清單
- //user_timeline_by_id($uid,$page = 1,$count = 50,$since_id = 0,$max_id = 0,$feature = 0,$trim_user = 0,$base_app = 0)
- //$page: 頁碼
- ///$count: 每次回傳的最大記錄數,最多回傳200條,預設50。
- //$uid: 指定使用者UID或微博暱稱
- //$since_id: 若指定此參數,則只傳回ID比since_id大的微博訊息(即比since_id發表時間晚的微博訊息)。可選。
- //$max_id: 若指定此參數,則傳回ID小於或等於max_id的提到目前登入使用者微博訊息。可選。
- //$base_app: 是否基於目前應用程式來取得資料。 1為限製本應用微博,0為不做限制。預設為0。
- //$feature: 過濾類型ID,0:全部、1:原創、2:圖片、3:影片、4:音樂,預設為0。
- //$trim_user: 傳回值中user訊息開關,0:傳回完整的user資訊、1:user欄位僅回傳uid,預設為0。
- $ms = $c->user_timeline_by_id($uid); // done
- ///////////////////
- //取得使用者發佈的微博資訊清單
- //user_timeline_by_name ($screen_name,$page = 1,$count = 50,$since_id = 0,$max_id = 0,$feature = 0,$trim_user = 0,$base_app = 0)
- //$screen_name: 微博暱稱,主要是用來區分用戶UID跟微博暱稱,當二者一樣而產生歧義的時候,建議使用該參數
-
- ?>
-
-
-
-
- 新浪微博V2介面示範程式-Powered by Sina App Engine
-
-
-
- =$user_message['screen_name ']?>,您好!
-
寄新微博
-
-
-
///////////////
- //發布一則微博訊息。
- //update ($status,$lat緯度,$long經度,$annotations方便第三方記錄資料例如array("a"=>"b", "c"=>"d")) )
- if( isset($_REQUEST['text']) ) {
- $ret = $c->update( $_REQUEST['text'] ); //發送微博
- if ( isset($ret ['error_code']) && $ret['error_code'] > 0 ) {
- echo "
傳送失敗,錯誤:{$ret['error_code']}:{$ret['error']} ";
- } else {
- echo "
發送成功 ";
- }
- }
- //////////// //////////////
- echo "
------發表圖片微博---------- ";
- //發表圖片微博,圖片//$status: 要更新的微博資訊。訊息內容不超過140個漢字, 為空回傳400錯誤。
- //$pic_path: 要發佈的圖片路徑, 支援url。只支援png/jpg/gif三種格式,
- //$lat: 緯度,發表目前微博所在的地理位置,有效範圍 -90.0到+90.0, +表示北緯。可選。
- //$long: 可選參數,經度。有效範圍-180.0到+180.0, +表示東經。可選
- $status='發表圖片微博測試測試2012年4月23日14:25:43';
- $pic_path='http://www.baidu.com/img/baidu_sylogo1.gif ';
- $ret13 = $c->upload($status,$pic_path,$lat,$long);
- if( isset($ret13['error_code']) && $ret13['error_code'] > 0 ) {
- echo "
發表圖片微博失敗,錯誤:{$ret7['error_code']}:{$ret7['error']} ";
- } else {
- echo "
發表圖片微博成功 ";
- }
- ////////////////////
- echo "
--------追蹤使用者-------- ";
- //追蹤使用者
- //根據uid追蹤:follow_by_id ($uid)
- $ret2 = $c->follow_by_name('tohelong');
- if ( isset($ret2['error_code']) && $ret2['error_code'] > 0 ) {
- echo "
關注失敗,錯誤:{$ret2['error_code']}:{$ret2['error']} ";
- } else {
- echo "
專注於成功 ";
- }
- ////////////////
- //為目前登入使用者新增新的使用者標籤
- echo "
-- -------新增標籤------- ";
- $ret6 = $c->add_tags("tag2,tag3,tag4,標籤測試");;
- if ( isset($ret6['error_code']) && $ret6['error_code'] > 0 ) {
- echo "
新增標籤失敗,錯誤:{$ret6['error_code']}:{$ret6 ['error']} ";
- } else {
- echo "
新增標籤成功 ";
- }
- ///////// ////////////////
- echo "
--------收藏一條微博-------- ";
- //收藏一條微博資訊
- $sid='3437771555685532';
- $ret7 = $c->add_to_favorites ($sid);//$sid =收藏的微博id
- if( isset($ret7['error_code']) && $ret7['error_code'] > 0 ) {
- echo "
收藏失敗,錯誤:{$ret7['error_code']}:{$ret7[' error']} ";
- } else {
- echo "
收藏成功 ";
- }
-
- //////// ///////////////
- echo "
--------互粉列表-------- ";
- //互粉清單
- $ret8 = $c-> bilateral ($uid,1,50,0);
- //print_r($ret8);
- echo $ret8['users'][ 0]['location'];
- //////////////////////
- echo "
-------表情- -------- ";
- $ret9 = $c->emotions ($type = "face",$language = "cnname");
- //"face":普通表情,"ani":魔法表情,"cartoon":動畫表情
- //print_r($ret9);
- echo " ";
- //////////////////////
- echo "
--------評論微博---- ---- ";
- //對一條微博評論
- $id='3437771555685532';//帖子id
- $comment='評論測試測試';
- $ ret10 = $c->send_comment($id,$comment,$comment_ori=0);
- //$comment_ori: 當評論轉發微博時,是否評論給原微博,0:否、1:是,默認為0
- if( isset($ret10['error_code']) && $ret10['error_code'] > 0 ) {
- echo "
評論失敗,錯誤:{$ret7['error_code'] }:{$ret7['error']} ";
- } else {
- echo "
評論成功 ";
- }
- //// /////////////////
- echo "
--------根據貼文id取得微博與作者--------";
- //根據ID取得單一微博資訊內容
- $id='3437771555685532';//貼文id
- $ret11 = $c->show_status ($id);
- //print_r($ret11);
- echo $ret11['text'];
- echo $ret11['user']['screen_name'];
- echo $ret11['user'][' location'];
- ///////////////////
- echo "
-------用戶名id取得資料和微博- -------- ";
- //根據用戶UID或暱稱獲取用戶資料.也返回最新微博。
- //show_user_by_name ($screen_name)
- $ret12 = $c->show_user_by_id($uid);
- //print_r($ret12);
- echo $ret12['screen_name']; 🎜>echo "";
- echo $ret12['status']['text'];
- ///////// ////////////
- echo "
---------------- ";
- ?>
-
- =$item['id'];?> =$item['text'];?>=$ item['source'];?>
-
-
-
-
-
複製程式碼
|