你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> IOS學習之IOS5.0以上 使用新浪微博開放平台OAuth

IOS學習之IOS5.0以上 使用新浪微博開放平台OAuth

編輯:IOS開發綜合

新浪微博開放平台為第三方應用提供了簡便的合作模式,滿足了手機用戶和平板電腦用戶隨時隨地分享信息的需求。通過調用平台的api即可實現很多微博上的功能。
本篇主要目的是記錄新浪微博移動SDK IOS版本的在IOS5下的嵌入和使用。
1、申請一個新浪微博的移動應用 。
 申請後得到App key 和 App Secret
2、下載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 alloc] initWithAppKey: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和功能,怎麼調用呢?
我們試著獲取個人信息
[cpp]
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity:2]; 
    [params setObject:[engine accessToken]forKey:@"access_token"]; 
    [params setObject:[engine userID]forKey:@"uid"]; 
    NSLog(@"params:%@", params); 
     
    [engine loadRequestWithMethodName:@"users/show.json" 
                           httpMethod:@"GET" 
                               params:params 
                         postDataType:kWBRequestPostDataTypeNone 
                     httpHeaderFields:nil]; 

params的參數是必須的。
 這樣可以獲取微博自己的昵稱等信息。


 ,使用的方法和例子都有。
需要什麼用什麼接口,把loadRequestWithMethodName 改變成自己需要的接口,params參數改成需要的參數,就可以了。

有的接口是不需要params的,比如
statuses/friends_timeline.json獲取關注人的微博,這裡params可以是nil.
PS:本篇記錄用的是Oauth認證,xauth認證需要審核資格才能使用的。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved