国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IOS開發之新浪微博OAuth2

2019-11-14 19:03:24
字體:
來源:轉載
供稿:網友

  說明:微博開放接口的調用,如發微博、關注等,都是需要獲取用戶身份認證的。目前微博開放平臺用戶身份鑒權主要采用的是OAuth2.0。為了方便開發者開發、測試自己的應用。

  OAuth2.0較1.0相比,整個授權驗證流程更簡單更安全,也是未來最主要的用戶身份驗證和授權方式。

步驟一:創建應用

 下面我以本公司測試賬號為例,創建應用步驟可以參考新浪的官方API 地址:http://open.weibo.com應用創建好停留在開發階段即可使用,本例的應用信息如下圖

 

步驟二:獲取token號碼

 

  通過webView加載鏈接其中client_id為應用的app Key, redirect_uri的值為公司跳轉鏈接這里我以本公司鏈接為例子

UIWebView  * web=[[UIWebView alloc] init]; web.frame=self.view.bounds;NSString*str=@"https://api.weibo.com/oauth2/authorize?client_id=3272733387&redirect_uri=http://www.21-sun.com";    NSURL * url=[NSURL URLWithString:str];    NSURLRequest *request=[NSURLRequest requestWithURL:url];    [web loadRequest:request];    [self.view addSubview:web];web.delegate=self;

  效果界面如下,登錄完成授權:

 

  在返回的鏈接中后面會拼有參數code,此code我們需要備用,如圖所示,我們可以通過webView的代理來截取返回鏈接

 

#PRagma mark - 允許代理加載請求-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{NSString * str=request.URL.absoluteString;if([str containsString:@"http://www.21-sun.com/?code="]){     NSInteger index=[str rangeOfString:@"="].location;        NSString * code=[str substringFromIndex:index+1];        return NO; }return YES;}

  請求access_token,如圖所示,采用下面鏈接請求

//client_id true     string  申請應用時分配的AppKey。

//client_secret    true     string  申請應用時分配的AppSecret。

//grant_type  true     string  請求的類型,填寫authorization_code

//code true     string   上面獲得的code值。

//redirect_uri true     string  回調地址,需需與注冊應用里的回調地址一致。

 

  代碼如下

- (void)_getToken:(NSString *) code{    NSDictionary *dic=@{@"client_id":@"3272733387",@"client_secret":@"10003f9922c9d0e0fefb03500c8d4dbc",@"grant_type":@"authorization_code",@"code":data,@"redirect_uri":@"http://www.21-sun.com"};      AFHTTPRequestOperationManager * manager=[AFHTTPRequestOperationManager manager];  manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/plain"];[manager  POST:@"https://api.weibo.com/oauth2/access_token" parameters:dic success:^(AFHTTPRequestOperation *operation, NSDictionary * responSEObject) {       NSString * token=responseObject[@"access_token"];    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {NSLog(@"請求失敗");}];}

此時用我們獲取的access_token碼就可以做很多事情了。

 

作者:杰瑞教育
出處:http://www.survivalescaperooms.com/jerehedu/ 
本文版權歸煙臺杰瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桃江县| 济源市| 东乌| 连平县| 资阳市| 上犹县| 吉木萨尔县| 濉溪县| 榆社县| 襄城县| 军事| 耒阳市| 涞源县| 盐山县| 巴彦县| 青州市| 施秉县| 高清| 江津市| 伊吾县| 济宁市| 观塘区| 尉氏县| 婺源县| 太谷县| 蓝田县| 彰化县| 武定县| 乐都县| SHOW| 贵溪市| 林周县| 黔西| 宁强县| 博湖县| 鄂伦春自治旗| 诏安县| 广西| 温泉县| 安乡县| 巴楚县|