2014-02-16 71 views
0


參數在我的應用程序需要得到的參數從這個URL「的access_token」和「USER_ID」:
https://oauth.vk.com/blank.html#access_token=b1b33dfaa3&expires_in=86400&user_id=311515

這是我在webViewDidFinishLoad訪問「USER_ID」參數代碼:獲得來自NSURL

NSArray *userAr = [[[[webView request] URL] absoluteString] componentsSeparatedByString:@"&user_id="]; 

NSString *user_id = [userAr lastObject]; 


我如何得到 「的access_token」?如果我使用相同的方法,它不起作用...

回答

0

嘗試瞭解代碼。 componentsSeparatedByString創建一個由&user_id=分隔的較小字符串的數組。這意味着,輸出爲你會:

Array of ["https://oauth.vk.com/blank.html#access_token=b1b33dfaa3&expires_in=86400", "311515"] 

現在你明白爲什麼lastObject讓你的user_id值。現在嘗試使用相同的方法獲取access_token的值。

提示:您需要設置&作爲分隔符。

0

我瘦,這些代碼將幫助您:

NSArray *query = @"https://oauth.vk.com/blank.html#access_token=b1b33dfaa3&expires_in=86400&user_id=311515 "; 
NSMutableDictionary *params = [[NSMutableDictionary alloc] init]; 
for (NSString *param in [query componentsSeparatedByString:@"&"]) { 
    NSArray *parts = [param componentsSeparatedByString:@"="]; 
    if([parts count] < 2) continue; 
    [params setObject:[parts objectAtIndex:1] forKey:[parts objectAtIndex:0]]; 
} 
1

同樣的功能我在我的應用程序中實現也。

如果您使用web視圖使用此

NSURL* url = [[webView request] URL]; 

NSString *string = [[url absoluteString] stringByReplacingOccurrencesOfString:@"#" withString:@"&"]; (here it's tweak to chnage '#' to '&') 

NSArray *components = [string componentsSeparatedByString:@"&"]; 
NSLog(@"queryParams %@", components); 

基本上,我們需要劃分我們URL in to two sub-part,根據這一點,你會得到main url and other part as list of parameter .`

在這裏,您將得到所有與您URL參數

希望這會幫助你。