iOS學習之iOS5.0以上 使用新浪微博開放平臺OAuth

新浪微博開放平臺爲第三方應用提供了簡便的合作模式,滿足了手機用戶和平板電腦用戶隨時隨地分享信息的需求。通過調用平臺的api即可實現很多微博上的功能。

本篇主要目的是記錄新浪微博移動SDK iOS版本的在iOS5下的嵌入和使用。

1、申請一個新浪微博的移動應用 。

申請地址:http://open.weibo.com/development,申請後得到App key 和 App Secret

2、下載iOS_sdk

下載地址:http://open.weibo.com/wiki/SDK#iOS_SDK  ,下載第一個就ok了。

3、新建一個項目Sina_weibo,選擇single View app。而且使用5.0後的ARC特性 。 導入解壓後的sdk


導入SDK


4、適配SDK在arc環境下運行

這時候運行程序,你會發現很多關於ARC的錯誤,因爲sdk裏是沒有使用arc的。這時候如果想sdk的文件不參與arc方式的編譯,那就需要做下設置,在Build Phases裏添加“-fno-objc-arc”標示



雙擊需要標識的文件,輸入-fno-objc-arc。


這樣weibo SDK的文件就不會以arc的方式編譯了。

5、 在自己的工程裏面增加Security.framework。SDK需要使用Security.framework將OAuth認證以後的token放到keyChain裏面從而增加整個工程的安全性。

這時候運行,程序就編譯運行正常了

6、其他的和SDK裏的Demo一樣了


登錄調用

    [weiBoEngine logIn]; 

註銷調用

    [weiBoEngine logOut];

發微博:

可以調用SDK默認的界面發送:

    WBSendView *sendView = [[WBSendView allocinitWithAppKey:appKey appSecret:appSecret text:@"test" image:[UIImage imageNamed:@"bg.png"]];

    [sendView setDelegate:self];

    [sendView show:YES];

對應的發送微博的api是:statuses/upload 發送微博並上傳圖片。如果在微博上顯示地圖,那就發送經緯度參數,多加上

lat false float 緯度,有效範圍:-90.0到+90.0,+表示北緯,默認爲0.0。
long false float 經度,有效範圍:-180.0到+180.0,+表示東經,默認爲0.0。

7、調用自定義api

6步驟裏調用的是sdk裏封裝好的,那微博這麼api和功能,怎麼調用呢?

我們試着獲取個人信息

  1. NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:2];  
  2.     [params setObject:[engine accessToken]forKey:@"access_token"];  
  3.     [params setObject:[engine userID]forKey:@"uid"];  
  4.     NSLog(@"params:%@", params);  
  5.       
  6.     [engine loadRequestWithMethodName:@"users/show.json"  
  7.                            httpMethod:@"GET"  
  8.                                params:params  
  9.                          postDataType:kWBRequestPostDataTypeNone  
  10.                      httpHeaderFields:nil];  


params的參數是必須的。

返回的數據參考接口http://open.weibo.com/wiki/2/users/show

這樣可以獲取微博自己的暱稱等信息。


微博所有api文檔都在這個頁面http://open.weibo.com/wiki/API%E6%96%87%E6%A1%A3_V2,使用的方法和例子都有。

需要什麼用什麼接口,把loadRequestWithMethodName 改變成自己需要的接口,params參數改成需要的參數,就可以了。


有的接口是不需要params的,比如

statuses/friends_timeline.json獲取關注人的微博,這裏params可以是nil.

PS:本篇記錄用的是Oauth認證,xauth認證需要審覈資格才能使用的。 


8、項目源碼下載地址:http://download.csdn.net/detail/totogo2010/4633077


著作權聲明:本文由http://blog.csdn.net/totogo2010/原創,歡迎轉載分享。請尊重作者勞動,轉載時保留該聲明和作者博客鏈接,謝謝!

發佈了4 篇原創文章 · 獲贊 8 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章