使用OAuth将视频上传到Twitter
问题描述:
我正在开发一个使用Twitvid库将视频上传到TwitVid的iPhone应用程序。 该库首先使用用户名和密码输入参数对应用程序进行身份验证。然后它上传视频。 但是,最近我切换到OAuth身份验证机制,导致用户可以输入用户名和密码的网页。 因此,我无法在我的应用程序中为用户名和密码提供上传视频的输入字段。使用OAuth将视频上传到Twitter
有人可以帮我解决这个问题。
感谢和问候, 迪帕
答
我认为你已经使用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;
}
干杯, Pragnesh