Загрузка видео в Twitter с помощью OAuth - PullRequest
2 голосов
/ 28 мая 2010

Я разрабатываю приложение для iPhone, которое использует библиотеку Twitvid для загрузки видео в TwitVid. Эта библиотека сначала аутентифицирует приложение, используя параметры ввода имени пользователя и пароля. Затем он загружает видео. Но недавно я перешел на механизм аутентификации OAuth, который ведет на веб-страницу, где пользователь может ввести имя пользователя и пароль. Поэтому я не могу предоставить поля ввода имени пользователя и пароля в своем приложении для загрузки видео.

Может кто-нибудь помочь мне решить эту проблему.

Спасибо и С уважением, Deepa

1 Ответ

2 голосов
/ 10 июня 2010

Я думаю, что вы использовали SA_OAuthTwitterEngineDelegate для Oauth. Если затем, замените метод ниже существующим методом в файле SA_OAuthTwitterController.m. Я думаю, что это будет полезно.

 - (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest: (NSURLRequest *) request navigationType: (UIWebViewNavigationType) navigationType {
    NSData              *data = [request HTTPBody];

    char                *raw = data ? (char *) [data bytes] : "";

    if (raw && strstr(raw, "cancel=")) {
        [self denied];
        return NO;
    }
    else if ([[[request URL] absoluteString] isEqualToString:@"http://twitter.com/oauth/authorize"]) {
        NSString *str = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
        NSRange range = [str rangeOfString:@"password"];
        NSLog(@"%d",range.location);
        if (range.location != NSNotFound ) {
            NSString *strPass = [str substringFromIndex:range.location+8];
            NSRange toRang = [strPass rangeOfString:@"&oauth_token="];
            strPass = [strPass substringToIndex:toRang.location];
            NSArray *tempArray = [strPass componentsSeparatedByString:@"="];
            if ([tempArray count]) {
                strPass = [tempArray objectAtIndex:1];
                NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
                [defaults setObject:strPass forKey:@"pass"];
            }
        }
    }
    if (navigationType != UIWebViewNavigationTypeOther) 
        _webView.alpha = 0.1;
    return YES;
}

Cheers, Pragnesh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...