Rumah pangkalan data tutorial mysql IOS最新新浪微博开放平台Oauth2.0授权获取Access

IOS最新新浪微博开放平台Oauth2.0授权获取Access

Jun 07, 2016 pm 03:49 PM
ios platform terbuka Weibo membenarkan Sina terkini

很久没写博客,最近在搞一个新浪微博的第三方应用,涉及到了Oauth2.0授权获取Access_Token,特此记录分享! 步骤一:添加应用 进入新浪微博开放平台(没有的话自行注册),进入“管理中心“,点击”创建应用”,选择“微链接应用”,再点击“创建应用”,,

很久没写博客,最近在搞一个新浪微博的第三方应用,涉及到了Oauth2.0授权获取Access_Token,特此记录分享!

步骤一:添加应用

进入新浪微博开放平台(没有的话自行注册),进入“管理中心“,点击”创建应用”,选择“微链接应用”,再点击“创建应用”,,选“移动应用”,填写相应的信息,其中应用地址没有的话可随便,勾选平台后提交。注意保存你的App Key和App Secret以备后用。

步骤二:Oauth2.0授权设置

应用创建完后可以在“管理中心”-“我的应用”中查看信息,在“应用信息”--“高级信息”中可以设置网站的授权回调页和取消授权回调页。授权回调页会在用户授权成功后会被回调,同时传回一个“code”参数,开发者可以用code换取Access_Token值。当然如果是移动应用,比如本文是没有自己授权回调页的,建议这里填:https://api.weibo.com/oauth2/default.html 或者 http://www.baidu.com 之类的。如果授权后传回的形式如下:

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

我们只要获取其中code的值a6146547f981199c07348837b0629d5d即可,注意code的值每次都是不一样的。

步骤三:引导用户授权

引导需要授权的用户到如下页面:
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
YOUR_CLIENT_ID:即应用的AppKey,可以在应用基本信息里查看到。
YOUR_REGISTERED_REDIRECT_URI:即之前填写的授权回调页,注意一定要和你在开发平台填写的完全相同,这里以https://api.weibo.com/oauth2/default.html 为例。
如果用户授权成功后,会跳转到回调页,开发者此时需要得到url参数中的code值,注意code只能使用一次。

步骤四:换取Access Token

开发者可以访问如下页面得到Access Token:
https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
YOUR_CLIENT_ID:即应用的AppKey,可以在应用基本信息里查看到。
YOUR_CLIENT_SECRET:即应用的App Secret,可以在应用基本信息里查看到。
YOUR_REGISTERED_REDIRECT_URI:即之前填写的授权回调页
code:就是步骤三引导用户授权后回传的code。
如果都没有问题,就可以得到Access Token了,返回示例:
{
       "access_token": "ACCESS_TOKEN",
       "expires_in": 1234,
       "remind_in":"798114",
       "uid":"12341234"
 }


最后做了一个Xcode 5.0 storyboard的demo,用到一个UIViewController和一个UIWebView。

看代码如下:

#import <uikit>

@interface OAuthWebViewController : UIViewController<uiwebviewdelegate>

@property (weak, nonatomic) IBOutlet UIWebView *webView;

@end</uiwebviewdelegate></uikit>
Salin selepas log masuk

#import "OAuthWebViewController.h"

@implementation OAuthWebViewController
@synthesize webView;

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    
    NSString *url = @"https://api.weibo.com/oauth2/authorize?client_id=3693781153&redirect_uri=https://api.weibo.com/oauth2/default.html&response_type=code&display=mobile";
    
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:url]];
    [self.webView setDelegate:self];
    [self.webView loadRequest:request];

}

-(void)viewDidLoad
{
    [super viewDidLoad];
}

#pragma mark - UIWebView Delegate Methods

-(void)webViewDidFinishLoad:(UIWebView *)_webView
{
    NSString *url = _webView.request.URL.absoluteString;
    NSLog(@"absoluteString:%@",url);
    
    if ([url hasPrefix:@"https://api.weibo.com/oauth2/default.html?"]) {
        
        //找到”code=“的range
        NSRange rangeOne;
        rangeOne=[url rangeOfString:@"code="];
        
        //根据他“code=”的range确定code参数的值的range
        NSRange range = NSMakeRange(rangeOne.length+rangeOne.location, url.length-(rangeOne.length+rangeOne.location));
        //获取code值
        NSString *codeString = [url substringWithRange:range];
        NSLog(@"code = :%@",codeString);
        
        //access token调用URL的string
        NSMutableString *muString = [[NSMutableString alloc] initWithString:@"https://api.weibo.com/oauth2/access_token?client_id=3693781153&client_secret=7954135ee119b1fd068b8f41d2de5672&grant_type=authorization_code&redirect_uri=https://api.weibo.com/oauth2/default.html&code="];
        [muString appendString:codeString];
        NSLog(@"access token url :%@",muString);
        
        //第一步,创建URL
        NSURL *urlstring = [NSURL URLWithString:muString];
        //第二步,创建请求
        NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:urlstring cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
        [request setHTTPMethod:@"POST"];//设置请求方式为POST,默认为GET
        NSString *str = @"type=focus-c";//设置参数
        NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
        [request setHTTPBody:data];
        //第三步,连接服务器
        NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
        
        NSString *str1 = [[NSString alloc]initWithData:received encoding:NSUTF8StringEncoding];
        NSLog(@"Back String :%@",str1);
        
        NSError *error;
        //如何从str1中获取到access_token
        NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:received options:NSJSONReadingMutableContainers error:&error];
        
        NSString *_access_token = [dictionary objectForKey:@"access_token"];
        NSLog(@"access token is:%@",_access_token);
        
    }
}

@end
Salin selepas log masuk

来几张图:

IOS最新新浪微博开放平台Oauth2.0授权获取Access

IOS最新新浪微博开放平台Oauth2.0授权获取Access

IOS最新新浪微博开放平台Oauth2.0授权获取Access


demo下载地址:http://download.csdn.net/detail/wangqiuyun/6851621

注意替换为你的AppKey和App Secret。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Versi pertama iOS 18 Apple terdedah kepada banyak pepijat: demam serius, kelewatan WeChat Versi pertama iOS 18 Apple terdedah kepada banyak pepijat: demam serius, kelewatan WeChat Jun 13, 2024 pm 09:39 PM

WWDC tahunan telah berakhir, dan iOS18 sudah pasti menjadi tumpuan perhatian semua orang. Pada masa ini, ramai pengguna iPhone tergesa-gesa untuk menaik taraf kepada iOS18, tetapi pelbagai pepijat sistem menyebabkan orang tidak selesa. Sesetengah penulis blog berkata bahawa anda harus berhati-hati semasa menaik taraf kepada iOS18 kerana "terdapat banyak pepijat." Blogger itu berkata bahawa jika iPhone anda adalah mesin utama anda, adalah disyorkan untuk tidak menaik taraf kepada iOS18 kerana versi pertama mempunyai banyak pepijat. Beliau juga meringkaskan beberapa pepijat sistem yang ditemui pada masa ini: 1. Menukar gaya ikon tersekat, menyebabkan ikon tidak dipaparkan 2. Animasi lebar lampu suluh sering hilang 3. Apl Douyin tidak boleh memuat naik video 10 saat 5 , telefon tidak boleh dibuat dan skrinnya hitam 6. Demam yang teruk.

Apple mengeluarkan semula kemas kini iOS/iPadOS 18 Beta 4, nombor versi dinaikkan kepada 22A5316k Apple mengeluarkan semula kemas kini iOS/iPadOS 18 Beta 4, nombor versi dinaikkan kepada 22A5316k Jul 27, 2024 am 11:06 AM

Terima kasih kepada netizen Ji Yinkesi, xxx_x, tomato goreng, Terrence dan stik drum ayam berempah kerana menyerahkan petunjuk! Menurut berita pada 27 Julai, Apple hari ini mengeluarkan semula kemas kini iOS/iPadOS 18 Beta 4 untuk pembangun Nombor versi dalaman telah dinaik taraf daripada 22A5316j kepada 22A5316k Pada masa ini tidak jelas perbezaan antara dua kemas kini versi Beta 4. Pembangun berdaftar boleh membuka apl "Tetapan", masukkan bahagian "Kemas Kini Perisian", klik pilihan "Kemas Kini Beta", dan kemudian togol tetapan Beta Pembangun iOS18/iPadOS18 untuk memilih versi beta. Memuat turun dan memasang versi beta memerlukan ID Apple yang dikaitkan dengan akaun pembangun. Dilaporkan pada 24 Julai, iO

Apple mengeluarkan pakej Swift sumber terbuka untuk penyulitan homomorfik, digunakan dalam iOS 18 Apple mengeluarkan pakej Swift sumber terbuka untuk penyulitan homomorfik, digunakan dalam iOS 18 Jul 31, 2024 pm 01:10 PM

Menurut berita pada 31 Julai, Apple mengeluarkan kenyataan akhbar semalam (30 Julai), mengumumkan pelancaran pakej Swift sumber terbuka baharu (swift-homomorphic-encryption) untuk membolehkan penyulitan homomorphic dalam bahasa pengaturcaraan Swift. Nota: Penyulitan Homomorfik (HE) merujuk kepada algoritma penyulitan yang memenuhi sifat operasi homomorfik teks sifir Iaitu, selepas data disulitkan secara homomorfik, pengiraan khusus dilakukan pada teks sifir, dan hasil pengiraan teks sifir yang diperolehi diproses pada masa yang sama. masa. Teks biasa selepas penyahsulitan keadaan adalah bersamaan dengan melakukan pengiraan yang sama secara langsung pada data teks biasa, mencapai "halimunan" data. Teknologi penyulitan homomorfik boleh mengira data yang disulitkan tanpa membocorkan data asas yang tidak disulitkan kepada proses operasi.

Kemas kini | Penggodam menerangkan cara memasang Epic Games Store dan Fortnite pada iPad di luar EU Kemas kini | Penggodam menerangkan cara memasang Epic Games Store dan Fortnite pada iPad di luar EU Aug 18, 2024 am 06:34 AM

Kemas kini: Saunders Tech telah memuat naik tutorial ke saluran YouTubenya (video dibenamkan di bawah) yang menerangkan cara memasang Fortnite dan Epic Games Store pada iPad di luar EU. Walau bagaimanapun, bukan sahaja proses itu memerlukan versi beta khusus iO

Ciri baharu apl 'Nota Tanpa Batas' iOS 18 Apple: fungsi Scenes diperluas, penjajaran grid diperkenalkan Ciri baharu apl 'Nota Tanpa Batas' iOS 18 Apple: fungsi Scenes diperluas, penjajaran grid diperkenalkan Jun 02, 2024 pm 05:05 PM

Menurut berita pada 1 Jun, media teknologi AppleInsider menerbitkan catatan blog hari ini, menyatakan bahawa Apple akan melancarkan fungsi navigasi baharu "Scenes" untuk sambungan aplikasi "Freeform" dalam sistem iOS18, dan menambah pilihan baharu untuk penjajaran objek. Pengenalan kepada aplikasi "Wubianji" Pertama, mari kita perkenalkan secara ringkas aplikasi "Wubianji" Aplikasi ini akan dilancarkan pada tahun 2022 dan kini telah melancarkan versi iOS, iPadOS, macOS15 dan visionOS. Pengenalan rasmi Apple adalah seperti berikut: "Nota Tanpa Batas" ialah alat yang sangat baik untuk mengubah inspirasi menjadi realiti. Lakarkan projek, reka bentuk papan mood atau mulakan sumbang saran pada kanvas fleksibel yang menyokong hampir semua jenis fail. Dengan iCloud, semua papan anda

Versi Apple iOS 17.5 RC dikeluarkan: membolehkan pengguna iPhone EU memuat turun aplikasi daripada tapak web Versi Apple iOS 17.5 RC dikeluarkan: membolehkan pengguna iPhone EU memuat turun aplikasi daripada tapak web May 08, 2024 am 09:30 AM

[Klik di sini untuk pergi terus ke tutorial peningkatan] Menurut berita pada 8 Mei, Apple menolak kemas kini iOS17.5RC (nombor versi dalaman: 21F79) kepada pengguna iPhone hari ini. Kemas kini ini tinggal 70 hari lagi daripada keluaran terakhir. Bagaimana untuk menaik taraf versi pembangunan iOS/iPadOS/watchOS/macOS dan versi beta awam? Untuk menaik taraf versi pratonton pembangun iOS/iPadOS17 dan versi beta awam, anda boleh merujuk kepada pengalaman yang dikongsi oleh rakan: Siaran Pengalaman 1||Siaran Pengalaman 2||Siaran Pengalaman 3||Siaran Pengalaman 4. Bermula dari iOS/iPadOS 16.4 Developer Preview Beta 1, anda perlu mendaftar untuk Apple Developer Program Selepas pendaftaran, buka sistem [Settings] [Software Update] untuk melihat pilihan naik taraf. Sila ambil perhatian bahawa iPhone atau IP anda

Pratonton Pembangun Apple iOS/iPadOS 18 Beta 4 dikeluarkan: Menambah kertas dinding CarPlay, memilih tetapan pilihan, kawalan kamera dipertingkat Pratonton Pembangun Apple iOS/iPadOS 18 Beta 4 dikeluarkan: Menambah kertas dinding CarPlay, memilih tetapan pilihan, kawalan kamera dipertingkat Jul 24, 2024 am 09:54 AM

Terima kasih kepada netizen Burger Kaki Ayam Pedas, Soft Media New Friends 2092483, Handwritten Past, DingHao, Xiaoxing_14, Wowotou Eat Big Kou, Feiying Q, Soft Media New Friends 2168428, Slades, Aaron212, Happy Little Hedgehog, Little Earl, Clues for the little susu kucing yang makan ikan! [Klik di sini untuk pergi terus ke tutorial naik taraf] Menurut berita pada 24 Julai, Apple hari ini menolak kemas kini versi pratonton pembangun iOS/iPadOS18 Beta4 (nombor versi dalaman: 22A5316j) kepada pengguna iPhone dan iPad keluaran terakhir. Kertas Dinding Carplay Apple telah menambahkan kertas dinding pada CarPlay, meliputi mod terang dan gelap Gaya kertas dindingnya serupa dengan iPhone

Apple mengeluarkan kemas kini iOS/iPadOS 16.7.9 dan 15.8.3 kepada iPhone/iPad yang lebih lama: betulkan kelemahan keselamatan Apple mengeluarkan kemas kini iOS/iPadOS 16.7.9 dan 15.8.3 kepada iPhone/iPad yang lebih lama: betulkan kelemahan keselamatan Jul 30, 2024 am 10:13 AM

Terima kasih kepada netizen Ji Yinkesi kerana menyerahkan petunjuk! Menurut berita pada 30 Julai, Apple hari ini mengeluarkan versi beta pembangun pertama iOS/iPadOS 18.1 dan versi beta awam kedua iOS/iPadOS 18. Ia juga mengeluarkan kemas kini iOS 16.7.9 dan iOS 15.8.3 untuk iPhone lama. Apple menulis dalam log kemas kini untuk kedua-dua versi: "Kemas kini ini menyediakan pembetulan keselamatan yang penting dan disyorkan untuk dipasang oleh semua pengguna," tetapi tidak menyebut perkara yang telah ditetapkan. iOS16.7.9 Nota: iOS16.7.9 sesuai untuk Apple iPhoneX, iPhone8 dan iPhone8Plus Menurut butiran dokumen yang didedahkan oleh Apple, ketiga-tiga model di atas dijangka menyokong

See all articles