IOS最新新浪微博开放平台Oauth2.0授权获取Access
很久没写博客,最近在搞一个新浪微博的第三方应用,涉及到了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>
#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
来几张图:
demo下载地址:http://download.csdn.net/detail/wangqiuyun/6851621
注意替换为你的AppKey和App Secret。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

La WWDC annuelle est terminée et iOS18 est sans aucun doute au centre de toutes les attentions. Actuellement, de nombreux utilisateurs d’iPhone se précipitent pour passer à iOS18, mais divers bugs du système mettent les gens mal à l’aise. Certains blogueurs ont déclaré qu'il fallait être prudent lors de la mise à niveau vers iOS18 car "il y a tellement de bugs". Le blogueur a déclaré que si votre iPhone est votre machine principale, il est recommandé de ne pas passer à iOS18 car la première version comporte de nombreux bugs. Il a également résumé plusieurs bugs du système actuellement rencontrés : 1. Le style d'icône de changement est bloqué, ce qui empêche l'affichage de l'icône. 2. L'animation de la largeur de la lampe de poche est souvent perdue. 3. L'application Douyin ne peut pas télécharger de vidéos. 10 secondes. 5. Parfois, le téléphone ne peut pas être connecté et l'écran est noir. 6. Forte fièvre.

Selon l'actualité du 31 juillet, Apple a publié hier (30 juillet) un communiqué de presse annonçant le lancement d'un nouveau package Swift open source (swift-homomorphic-encryption) permettant le cryptage homomorphe dans le langage de programmation Swift. Remarque : Le chiffrement homomorphe (HE) fait référence à un algorithme de chiffrement qui satisfait aux propriétés d'opération homomorphe du texte chiffré. Autrement dit, une fois les données chiffrées de manière homomorphe, des calculs spécifiques sont effectués sur le texte chiffré et les résultats de calcul du texte chiffré obtenus sont traités en même temps. Le texte en clair après le décryptage de l'état équivaut à effectuer directement le même calcul sur les données en texte en clair, obtenant ainsi « l'invisibilité » des données. La technologie de cryptage homomorphe peut calculer les données cryptées sans divulguer les données non cryptées sous-jacentes au processus opérationnel.

Merci aux internautes Ji Yinkesi, xxx_x, aux tomates frites, à Terrence et aux pilons de poulet épicés pour avoir soumis des indices ! Selon les informations du 27 juillet, Apple a réédité aujourd'hui la mise à jour iOS/iPadOS 18 Beta 4 pour les développeurs. Le numéro de version interne est passé de 22A5316j à 22A5316k. La différence entre les deux mises à jour de la version Beta 4 n'est actuellement pas claire. Les développeurs enregistrés peuvent ouvrir l'application « Paramètres », accéder à la section « Mise à jour du logiciel », cliquer sur l'option « Mise à jour bêta », puis basculer les paramètres bêta du développeur iOS18/iPadOS18 pour sélectionner la version bêta. Le téléchargement et l'installation de la version bêta nécessitent un identifiant Apple associé à un compte développeur. Signalé le 24 juillet, iO

Mise à jour : Saunders Tech a mis en ligne un didacticiel sur sa chaîne YouTube (vidéo intégrée ci-dessous) expliquant comment installer Fortnite et Epic Games Store sur un iPad en dehors de l'UE. Cependant, non seulement le processus nécessite des versions bêta spécifiques d'iO

Selon l'actualité du 1er juin, le média technologique AppleInsider a publié aujourd'hui un article de blog indiquant qu'Apple lancerait une nouvelle fonction de navigation « Scènes » pour l'extension d'application « Freeform » dans le système iOS18 et ajouterait de nouvelles options d'alignement des objets. Introduction à l'application « Wubianji » Tout d'abord, présentons brièvement l'application « Wubianji ». L'application sera lancée en 2022 et a actuellement lancé les versions iOS, iPadOS, macOS15 et visionOS. L’introduction officielle d’Apple est la suivante : « Boundless Notes » est un excellent outil pour transformer l’inspiration en réalité. Esquissez des projets, concevez des tableaux d'ambiance ou lancez un brainstorming sur un canevas flexible prenant en charge presque tous les types de fichiers. Avec iCloud, tous vos tableaux

Merci aux internautes Spicy Chicken Leg Burger, Soft Media New Friends 2092483, Handwriting 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 small chat de lait qui mange du poisson ! [Cliquez ici pour accéder directement au didacticiel de mise à niveau] Selon les informations du 24 juillet, Apple a proposé aujourd'hui la mise à jour Beta4 de la version préliminaire du développeur iOS/iPadOS18 (numéro de version interne : 22A5316j) aux utilisateurs d'iPhone et d'iPad. Cette mise à jour est 15 jours après la mise à jour. dernière version. Carplay Wallpaper Apple a ajouté des fonds d'écran à CarPlay, couvrant les modes clair et sombre. Son style de fond d'écran est similaire à celui de l'iPhone.

[Cliquez ici pour accéder directement au didacticiel de mise à niveau] Selon les informations du 8 mai, Apple a proposé aujourd'hui la mise à jour iOS17.5RC (numéro de version interne : 21F79) aux utilisateurs d'iPhone. Cette mise à jour est effectuée 70 jours après la dernière version. Comment mettre à niveau la version de développement iOS/iPadOS/watchOS/macOS et la version bêta publique ? Pour mettre à niveau la version préliminaire du développeur iOS/iPadOS17 et la version bêta publique, vous pouvez vous référer à l'expérience partagée par vos amis : Experience Post 1||Experience Post 2||Experience Post 3||Experience Post 4. À partir de iOS/iPadOS 16.4 Developer Preview Beta 1, vous devez vous inscrire au programme pour développeurs Apple. Après l'inscription, ouvrez le système [Paramètres] [Mise à jour du logiciel] pour voir l'option de mise à niveau. Veuillez noter que votre iPhone ou IP

Merci à l'internaute Ji Yinkesi d'avoir soumis l'indice ! Selon les informations du 30 juillet, Apple a publié aujourd'hui la première version bêta pour développeur d'iOS/iPadOS 18.1 et la deuxième version bêta publique d'iOS/iPadOS 18. Elle a également publié des mises à jour iOS 16.7.9 et iOS 15.8.3 pour les anciens iPhones. Apple a écrit dans les journaux de mise à jour des deux versions : « Cette mise à jour fournit des correctifs de sécurité importants et il est recommandé à tous les utilisateurs de l'installer », mais n'a pas mentionné ce qui a été corrigé. iOS16.7.9 Remarque : iOS16.7.9 convient aux Apple iPhoneX, iPhone8 et iPhone8Plus. Selon les détails du document divulgués par Apple, les trois modèles ci-dessus devraient être pris en charge.
