zoukankan      html  css  js  c++  java
  • iOS腾讯微博授权,发送文字微博

    //请求页所在地址

        //https://open.t.qq.com/cgi-bin/oauth2/authorize?client_id=APP_KEY&response_type=token&redirect_uri=http://www.myurl.com/example

     

        NSString *requestString = [NSStringstringWithFormat:TencentRequestURL,TencentAppKey, TencentRedirectURI];

        NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:[NSURLURLWithString:requestString]];

        NSLog(@"Tencent request URL string is %@", requestString);

        [authWebView loadRequest:request];

     

     

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

    {

    if (authType == 2){

            //如果获取到access_token就将该值保留

            NSString *absolutStr = [request.URL absoluteString];

            NSLog(@"The absolut string is %@", absolutStr);

            NSRange start = [[url absoluteString] rangeOfString:@"access_token="];

            if (start.location != NSNotFound) {

                NSString *accessToken = [self getStringFromUrl:absolutStr needle:TencentAccessTokenKey];

                NSString *expiresIn = [self getStringFromUrl:absolutStr needle:TencentExpiresInKey];

                NSString *openId = [self getStringFromUrl:absolutStr needle:TencentOpenIdKey];

                NSString *openKey = [self getStringFromUrl:absolutStr needle:TencentOpenKeyKey];

                NSString *refreshToken = [self getStringFromUrl:absolutStr needle:TencentRefreshTokenKey];

                NSLog(@"The tencent access_token is %@, openid is %@, openkey is %@", accessToken, openId, openKey);

                if ((accessToken == (NSString *)[NSNull null]) || (accessToken.length == 0)

                    || (openId == (NSString *)[NSNull null]) || (openKey.length == 0)

                    || (openKey == (NSString *)[NSNull null]) || (openId.length == 0)

                    || (expiresIn == (NSString *)[NSNull null]) || (expiresIn.length == 0)

                    || (refreshToken == (NSString *)[NSNull null]) || (refreshToken.length == 0)) {

                    NSLog(@"Tencent auth failed!");

                }else{

                    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

                    [userDefaults setValue:[self encryption:PasswordKey :accessToken] forKey:@"tencent_access_token"];

                    [userDefaults setValue:expiresIn forKey:@"tencent_expires_in"];

                    [userDefaults setValue:openId forKey:@"tencent_openid"];

                    [userDefaults setValue:openKey forKey:@"tencent_openkey"];

                    [userDefaults setValue:refreshToken forKey:@"tencent_refresh_token"];

                    [userDefaults synchronize];

                    

                    UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:nilmessage:@"授权成功!" delegate:selfcancelButtonTitle:@"OK"otherButtonTitles:nil, nil];

                    [alert show];

                    [alert release];

                }

                authWebView.delegate = nil;

                [selfdismissModalViewControllerAnimated:YES];

                return NO;

            }

        }

        returnYES;

    }

  • 相关阅读:
    #研发解决方案#研发协作平台CloudEngine
    人生做出的选择越多,友谊的小船翻得越快?
    告诉别人你是谁:边界的那些事儿
    如何从零开始搭建一个技术平台?
    Windows10 自动配置切换IP地址
    Human disease database
    R语言install.packages("jpeg")报错
    RStudio中,出现中文乱码问题的解决方案(修改文件编码)
    How do I run Adobe Flash on Chrome?
    RGB颜色查询对照表
  • 原文地址:https://www.cnblogs.com/easonoutlook/p/2642781.html
Copyright © 2011-2022 走看看