从webView获取Foursquare Authtoken

时间:2012-07-13 21:27:53

标签: ios foursquare

我使用Foursquare api调用编写了一个iOS应用程序。在检查场地时,我必须通过我们的服务器通过Foursquare身份验证。我们的服务器在我们的数据库中捕获授权令牌,并通过网页中的DIV元素返回access_token。

在我的iPhone应用程序中,我可以在webView中看到此网页。我可以看到访问令牌。 现在我想做以下事情: (1)从webView的值中提取访问令牌 (2)关闭webView并返回我的应用程序。

我使用了以下代码:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
accessToken = [self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('accesstoken').value"];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:accessToken forKey:@"access_token"];
[defaults synchronize];
[self dismissModalViewControllerAnimated:YES];
}

然而这不起作用。谁能给我一些线索?

提前感谢你们。

为akdotcom添加:我也尝试了以下内容:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {        
    accessToken = [self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('accesstoken').value"];
    if([accessToken length] > 0){
    NSLog(@"--> %@", accessToken);    
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setObject:accessToken forKey:@"access_token"];
    [defaults synchronize];

    [[UIApplication sharedApplication] openURL:request.URL];
    return NO;
}
return YES;

}

0 个答案:

没有答案