2012-03-07 1 views
0

Так что работа с API OAuth Мне нужно получить атрибут access_token. Отправляйте информацию для входа в систему, и я получаю правильный ответ. Ответ отформатирован как таковой:Android httpreponse (urlencoded string) get attribute

access_token=SOMETOKEN&login=SOMELOGIN&apiKey=SOMEAPIKEY 

В настоящее время я получаю ответ, как, например:

org.apache.http.HttpResponse response = httpclient.execute(httppost); 
String content = convertStreamToString(response.getEntity().getContent()); 

Если вторая строка получает строку содержания, как описано. Итак, что возвращается, это строка с кодировкой URL, и мне нужно получить значение access_token. Однако я не уверен, как это сделать, я не могу найти способ или что-то еще для этого: должен ли я разбирать его или есть какие-то другие методы?

Любая помощь очень ценится.

ответ

0

Я на самом деле просто нашел решение этой проблемы находится в Twitter Api Me (http://kenai.com/projects/twitterapime/pages/Home) StringUtil класс, я не собираюсь вставить здесь, но его открытое совпадение, поэтому, если кому-то это нужно, поймите его оттуда.

0

Попробуйте URLDecoder.decode(content)

Если это единственная проблема, которая должна работать.

Редактировать: Я думаю, вы уже знаете это, и вы ищете что-то более автоматическое, но на всякий случай. Я не проверял его.

String[] splitted = content.split("&"); 

//detect token 
String token; 
for(int i=0;i<splitted.length;i++){ 
if(splitted[i].startsWith("token"){ 
String[] tokenSplitted = splitted[i].split("="); 
token = tokenSplitted[1]; 
} 
} 
+0

Нет, мне не нужно его расшифровывать, мне нужно получить конкретный аргумент строки, который может выглядеть так: access_token = n6hfcq3iio & login = имя пользователя и apiKey = duksqmo98f Итак, мне нужно извлечь n6hfcq3iio – AzaraT

+0

проверить мой ответ – Maragues