亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統(tǒng) > iOS > 正文

iOS開發(fā)之路--微博OAuth授權(quán)_取得用戶授權(quán)的accessToken

2020-02-19 15:58:23
字體:
供稿:網(wǎng)友

最終效果圖:


OauthViewController.m

//// OauthViewController.m// 20_帥哥no微博//// Created by beyond on 14-8-5.// Copyright (c) 2014年 com.beyond. All rights reserved.// 授權(quán)控制器,僅運(yùn)行一次,取得了當(dāng)前用戶的access_token和uid之后,存檔,切換窗口的主控制器#import "OauthViewController.h"@interface OauthViewController (){  // 成員變量記住,不同方法中要用到  UIWebView *_webView;}@end@implementation OauthViewController-(void)loadView{  // 直接讓W(xué)ebView成為控制器的view,避免再次添加  _webView = [[UIWebView alloc]init];  self.view = _webView;}- (void)viewDidLoad{  [super viewDidLoad];    // 設(shè)置代理為當(dāng)前控制器,以便監(jiān)聽webView的開始加載 和結(jié)束 加載  _webView.delegate = self;    // 申請認(rèn)證的地址  NSString *oauthURL = [NSString stringWithFormat:@"https://api.weibo.com/oauth2/authorize?client_id=%@&response_type=code&redirect_uri=%@",kAppKey,kRedirectURL];    // 調(diào)用分類的方法,加載申請認(rèn)證的網(wǎng)址  [_webView loadURLString:oauthURL];}#pragma mark - 代理 方法// 開始加載- (void)webViewDidStartLoad:(UIWebView *)webView{  log(@"真的開始加載--%@",webView.request.URL);  // 一開始加載就,顯示進(jìn)度條  MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:webView animated:YES];  hud.labelText = @"頁面加載中...";}// 是否開始加載某個頁面- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{  log(@"能否加載--%@",webView.request.URL);  return YES;}// 頁面加載完成- (void)webViewDidFinishLoad:(UIWebView *)webView{  log(@"加載完畢--%@",webView.request.URL);  // 一旦加載完畢,就隱藏進(jìn)度條  [MBProgressHUD hideAllHUDsForView:webView animated:YES];      // 用戶同意授權(quán)之后,返回的URL包含授權(quán)的request_code,形如: http://www.abc.com/?code=888888888888  // 返回了用戶授權(quán)的request_code的頁面之后,需要截取code,然后繼續(xù)拼接url,發(fā)起第3次請求(這次必須以POST方式),最終返回需要的access_token    NSString *reDirectURLContainsCode = _webView.request.URL.absoluteString;  // 分類方法,從左邊標(biāo)記字串的最后面開始,截取剩下的字符串  NSString *code = [reDirectURLContainsCode subStrFromLeftFlagStr:@"?code="];  //如果 不是返回code的url,不做任何事情  if (code == nil) return;    // 現(xiàn)在準(zhǔn)備發(fā)起最后一次請求,拼接第3次請求的需要的URL,本次請求返回的東東,才會是最重要的用戶的accessToken,也包含了用戶的uid  NSString *accessTokenRequestURLStr = [NSString stringWithFormat:@"https://api.weibo.com/oauth2/access_token?client_id=%@&client_secret=%@&grant_type=authorization_code&redirect_uri=%@&code=%@",kAppKey,kAppSecret,kRedirectURL,code];      // 1,創(chuàng)建URL  NSURL *accessTokenRequestURL = [NSURL URLWithString:accessTokenRequestURLStr];  // 2,創(chuàng)建post請求  NSMutableURLRequest *mutRequest = [[NSMutableURLRequest alloc]initWithURL:accessTokenRequestURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];  //設(shè)置請求方式為POST,默認(rèn)為GET  [mutRequest setHTTPMethod:@"POST"];    // 3,連接服務(wù)器,并接收返回的數(shù)據(jù)  NSData *receivedData = [NSURLConnection sendSynchronousRequest:mutRequest returningResponse:nil error:nil];  // 將服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)成字串(實(shí)質(zhì)是JSON數(shù)據(jù))  NSString *responseStr = [[NSString alloc]initWithData:receivedData encoding:NSUTF8StringEncoding];  log(@"Response json is :%@",responseStr);      // 4,從responseStr中(實(shí)質(zhì)是JSON數(shù)據(jù))獲取到access_token  // 將(JSON數(shù)據(jù))轉(zhuǎn)成字典先  NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:receivedData options:NSJSONReadingMutableContainers error:nil];    // 通過鍵,取到access_token  NSString *access_token = [dictionary objectForKey:@"access_token"];  log(@"access token is:%@",access_token);  // 通過鍵,取到用戶的uid  NSString *uid = [dictionary objectForKey:@"uid"];  log(@"uid is:%@",uid);    // 授權(quán)成功,切換根控制器到主控制器  UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"授權(quán)成功" delegate:nil cancelButtonTitle:@"取消" destructiveButtonTitle:@"確定" otherButtonTitles: nil];  [actionSheet showInView:self.view.window];}@end

補(bǔ)充說明:

第0步,

先注冊成為開發(fā)者,驗(yàn)證郵箱之后,就可以創(chuàng)建移動應(yīng)用,

記下系統(tǒng)自動為該應(yīng)用生成的APPKey和APPSecret,

并在應(yīng)用信息的高級信息中,設(shè)置授權(quán)完成的回調(diào)頁面的地址Redirect_URI

由于這里是手機(jī)客戶端,而不是web應(yīng)用,

因此創(chuàng)建應(yīng)用的時候,Redirect_URI可以隨便寫,

但必須全局都使用同一個地址Redirect_URI




第1步,

申請未授權(quán)的request_code,

實(shí)質(zhì)就是來到微博的登錄頁面,也就是_webView第一個加載的url

地址格式如下:

https://api.weibo.com/oauth2/authorize?client_id=APPKEY&response_type=code&redirect_uri=https://api.weibo.com/oauth2/default.html

APPKEY就是創(chuàng)建應(yīng)用時,系統(tǒng)自動生成的唯一的應(yīng)用ID

redirect_uri,必需和創(chuàng)建應(yīng)用時的自己填寫的一致

第2步,

用戶輸入了帳號和密碼之后,點(diǎn)擊登錄,

頁面會自動轉(zhuǎn)到授權(quán)頁面,

用戶如果點(diǎn)擊授權(quán)按鈕,此時,頁面又會重定向到http://redirectURL/?code=888888888888,

要做的工作,就是截取這個重定向的URL中的code值(每次都不一樣),

這個code其實(shí)就是已經(jīng)授權(quán)的request_code,

但是它只是中間人,并不能用它去獲取用戶的信息

地址格式如下:

https://api.weibo.com/oauth2/default.html?code=fa4efb6310411f948423e69adeabec08

第3步,

用第2步中截取的code,再次拼裝url,

發(fā)起最后一次請求(必須是POST請求),

此時,服務(wù)器返回的數(shù)據(jù)才是一個需要的json數(shù)據(jù),

它里面包含三個鍵值對

{  "access_token":"這個才是真正的ACCESS_TOKEN",  "remind_in":"157679999",  "expires_in":157679999,  "uid":"授權(quán)了的那個用戶的uid"}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久久久久国色av免费观看性色| 无码人妻精品一区二区中文| 成人欧美在线| 欧美韩日高清| 男女h黄动漫啪啪无遮挡软件| 好吊视频在线观看| 91国产精品一区| 日本a级c片免费看三区| 免费av大全| 青草青草久热精品视频在线网站| 欧美洲成人男女午夜视频| 成人在线免费看视频| 精品麻豆一区二区三区| 欧美人动与zoxxxx乱| 91一区二区在线| 国产精品一香蕉国产线看观看| 国产成人精品a视频一区www| 国产精品永久免费观看| 欧美精品精品精品精品免费| 最近免费中文字幕大全免费第三页| 国产黄色网页| 一区二区三区四区av| 福利网址在线观看| 伊人久久久久久久久久久久久| 18一19gay欧美视频网站| youjizz.com亚洲| 欧美xxxx性猛交bbbb| 欧美一区二区三区免费视频| 国产性猛交xxxx免费看久久| 不卡中文字幕| 91视频在线网站| 天天干天天操天天拍| www.久久热| 日韩欧美国产精品| 亚洲蜜桃精久久久久久久久久久久| 2019中文字幕在线视频| 99视频在线观看一区三区| 黑料吃瓜在线观看| 日本一区二区在线播放| 网曝门事件国产精品二区| 影音先锋中文字幕在线播放| 国产精品久久久久久久9999| 美女性感视频久久| 日韩欧美在线观看免费| 中文在线а√在线8| 精品视频导航| 国产亚洲精品久久久久久| 色播一区二区| 在线视频一区二区| 欧美日本在线播放| 国产精品女主播一区二区三区| 99精品久久久| 久久久999国产| 日本一区二区在线播放| 国产精品8888| 色狠狠桃花综合| 国产在线观看免费视频软件| 国产成人啪免费观看软件| 在线激情网站| 麻豆网站视频在线观看| 国产精品久久久久三级| 欧美日本乱大交xxxxx| 中文字幕在线导航| 成人情趣视频| 精品国产乱码久久久久久婷婷| 国产区一区二区三区| 97色在线观看| 欧美性受黑人性爽| aa级大片免费在线观看| 美女任你摸久久| 伊人网在线免费| 五月婷婷激情五月| 免费观看不卡av| 亚洲精品国产品国语在线app| 中文资源在线官网| 我要看一级黄色大片| 亚洲欧美日韩一区二区在线| 欧美日韩国产色视频| 中文字幕在线免费观看| 同心难改在线观看| 欧美肥婆xxxx欧美另类| 粉嫩av一区二区三区天美传媒| 日本欧美中文字幕| 国产欧美一区二区三区在线看蜜臂| 久久嫩草精品久久久久| aaaa欧美| 国产又黄又粗又硬| 精品欧美一区免费观看α√| 久久一区二区视频| 91福利电影| 精品欧美乱码久久久久久| 国产日韩专区在线| 免费在线观看a| 国产免费黄网站| 国产精品久久久久久久岛一牛影视| 三级毛片在线| 欧美午夜三级| 一区二区在线播放视频| 天天综合网 天天综合色| 欧美日一区二区三区在线观看国产免| 久久精品亚洲精品国产欧美kt∨| 久久www视频| 日韩一级裸体免费视频| 国产成人激情视频| 日韩精品久久久免费观看| 一区二区三区高清在线视频| 91国偷自产一区二区使用方法| 伪装者在线观看完整版免费| 最后生还者第二季在线观看| 三级成人在线| 成人黄色视屏网站| 黑料吃瓜在线观看| 欧美人与牲动交xxxx| 国产精品自偷自拍| 欧美日韩综合一区二区三区| 亚洲欧美日韩精品一区二区| 色999日韩国产欧美一区二区| 无码aⅴ精品一区二区三区浪潮| 国产成人一区二区| 亚洲av成人精品日韩在线播放| 好吊色在线视频| 美女视频黄频大全不卡视频在线播放| 亚洲一区二区三区影院| 日韩成人毛片视频| 色网站在线免费观看| 动漫av免费观看| 日韩一卡二卡三卡四卡| 日产精品一线二线三线芒果| 国产91精品在线播放| 风间由美性色一区二区三区| 欧美一区二区三区影院| 成人爽a毛片| 99精品人妻无码专区在线视频区| 成人欧美一区二区三区白人| 中文字幕国产专区| 精品无码人妻少妇久久久久久| 亚洲精品视频一区二区| 亚洲欧美偷拍自拍| 成人午夜电影小说| 成人免费观看视频在线观看| 99成人在线视频| 日韩精品免费一区| 性xxxx欧美老肥妇牲乱| 国产午夜免费视频| 香蕉视频911| 青春草免费视频| 国产婷婷一区二区三区久久| 亚洲区一区二区三区| 国产视频一二三| 无码一区二区三区视频| 日韩国产成人无码av毛片| 国产午夜三级一区二区三| 猫咪成人官网| 国产精品日韩久久久久| 久久九九全国免费精品观看| 日韩av在线综合| 手机av免费观看| 久久人人超碰精品| 熟女性饥渴一区二区三区| 高h放荡受浪受bl| 久久久久99精品成人片我成大片| 九色蝌蚪在线视频| 青青草原成人在线视频| 国产一区二区香蕉| 午夜精品久久久久久久99热浪潮| 国产精品久久久久久久美男| 亚洲国产中文在线二区三区免| 国产在线成人精品午夜| 清纯唯美综合亚洲| 精品成人久久| 神马影院一区二区| 日本精品黄色| 川上优av中文字幕一区二区| 精品伦精品一区二区三区视频| 在线观看免费黄色| 蜜桃国内精品久久久久软件9| 国产乱码久久久久久| 国产精品69久久| 欧美精品二区| 亚洲美女精品成人在线视频| 精品无人区太爽高潮在线播放| 日韩在线中文字幕| 国产女主播喷水高潮网红在线| 日本一区二区三区四区五区| a视频在线观看免费| 夜夜骑天天干| 超碰男人的天堂| 韩国理伦片一区二区三区在线播放| 日本中文字幕一区二区有限公司| 日本xxxx黄色| 精品一区二区三区在线| 欧美日韩一级大片网址| 加勒比一区二区三区在线| 久久激五月天综合精品| 亚洲资源在线播放| 美女精品网站| 蜜臀91精品国产高清在线观看| 欧美激情性xxxxx| 91精品一区| 日韩黄色短视频| 欧美作爱福利免费观看视频| 成人免费视频观看视频| 亚洲成人久久一区| 狠狠人妻久久久久久综合蜜桃| 精品网站999www| 成人亚洲一区二区| 久久三级视频| 久久久久亚洲精品国产| 日本午夜精品电影| 国产精品久久占久久| 小说区视频区图片区| 欧美videos粗暴| 成人盗摄视频| 日韩av电影资源网| 国产福利资源一区| 欧美激情视频一区二区| 九九在线高清精品视频| 在线观看精品一区| 日韩欧美色综合网站| 69中国xxxxxxxxx69| 日本乱人伦aⅴ精品| 欧美少妇一区| 熟女熟妇伦久久影院毛片一区二区| 亚洲天堂av综合网| 天堂网www在线中文天堂| 亚洲精品一区中文字幕电影| 天天操天天操天天| 免费黄色网址在线| 国产艳俗歌舞表演hd| 欧美视频小说| 日韩欧美aⅴ综合网站发布| 在线免费三级电影网站| 亚洲午夜激情网站| 很黄很污的视频网站| 色伊人久久综合中文字幕| 日韩欧美亚洲天堂| 成人国产综合| 亚洲欧美高清视频| 免费国产自久久久久三四区久久| 婷婷午夜社区一区| 男女午夜激情视频| 91精品免费视频| 亚洲亚洲人成综合网络| 国产自摸综合网| 亚洲午夜福利在线观看| 亚洲精品日产| 日韩精品久久久免费观看| 欧美日韩国产中文字幕| 午夜精品偷拍| 日本理论片2828理论片| 激情久久久久久久久久久久久久久久| 一区二区亚洲| 国产美女www| 人妻偷人精品一区二区三区| 亚洲片区在线| 国产一级二级毛片| ccyy激情综合| 色噜噜久久综合伊人一本| 免费在线观看黄网站| 精品国产成人av在线免| 日韩精品 欧美| 丁香婷婷综合激情五月色| 亚洲国产精品久久久久秋霞影院| 国产精品久久久久久久久久久久久久久久久久| 中文字幕精品三区| 亚洲丝袜自拍清纯另类| 97成人在线视频| 亚洲人成电影网| 欧美情侣在线播放| 久久久久久在线观看| 久久99这里只有精品| 日韩人妻一区二区三区| 亚洲欧美另类小说| 日韩激情电影| 中文字幕人妻熟女人妻a片| wwww在线观看免费视频| 国产一级黄色| 中文一区二区视频| 男女激情免费视频| 欧美一二三四在线| 日本黄色播放器| 国产丝袜精品丝袜| 久久久久亚洲AV成人无码国产| 欧美日韩在线免费观看| 国产视频91在线| 四虎在线免费视频| 国产麻豆精品| 欧美精品一二三四| 91制片厂免费观看| 911精品美国片911久久久| 91www成人久久| 午夜探花在线观看| 男女激烈动态图| 亚洲男人都懂的| 中文字幕在线观看一区| 亚洲成人五区| 国产精品视频久久久| 精品大片一区二区| 农村一级毛片| 亚洲综合天堂网| 欧美一级视频在线播放| 国产精品xxxx喷水欧美| 成人p站proumb入口| 国产一区在线不卡| 91香蕉国产视频| 天天影视色香欲综合网老头| 国产91色在线观看| 一本在线免费视频| 久久亚洲精品国产亚洲老地址| 国产真实有声精品录音| 欧美高清在线一区二区| 一本一道久久a久久| 国产十六处破外女视频| 日韩精品一级中文字幕精品视频免费观看| 亚洲va欧美va国产综合剧情| 9i在线看片成人免费| 少妇性l交大片7724com| 亚洲精品一区二区三区四区五区| 国内拍拍自拍视频在线观看| bbw丰满大肥奶肥婆| 日本韩国欧美在线| 91久久精品| 日本午夜一区二区三区| 91麻豆国产香蕉久久精品| 久久一区二区电影| 少妇精品无码一区二区三区| 欧美性猛交xxxx免费看久久久| 色88888久久久久久影院|