2012-04-15 2 views
0

Я пытаюсь разработать приложение для поиска в Facebook. проблема заключается в том, что при использовании арабского слова для поиска я получил неправильные результаты (не-арабские сообщения) Я попытался кодировать арабское слово, прежде чем передавать его поисковому URL, используя следующую кодировку (UTF-8, ISO-8859-6 и Windows-1256), результаты меняются, но все же неверны.Поиск по арабскому слову в facebook usig facebook Graph API

следующее код JAVA, который я использую:

public JSONObject search(String strSearchPhrase, String strType) throws MalformedURLException, IOException { 

    strSearchPhrase = URLEncoder.encode(strSearchPhrase, "ISO-8859-6"); 

    URL searchURL = new URL("https://graph.facebook.com/search?q=" + strSearchPhrase + "&type=" + strType + "&access_token=" + strAccessToken); 

    URLConnection urlCon = searchURL.openConnection(); 

    BufferedReader buffReader = new BufferedReader(new InputStreamReader(urlCon.getInputStream())); 

    String strInputLine; 

    String strOutput = ""; 

    while ((strInputLine = buffReader.readLine()) != null) { 
     strOutput = strOutput + strInputLine; 
    } 
    buffReader.close(); 
    Object objOutput = JSONValue.parse(strOutput); 
    JSONObject jsonOutput = (JSONObject)objOutput; 

    //return data; 
    return jsonOutput; 
} 

Он отлично работает с английским, но не с арабским

Любая помощь или идеи будут оценены

+0

Это поможет, если вы разместите код для использования. –

+0

код теперь добавлен –

ответ

0

я не знаю , Я пробовал:

curl "https://graph.facebook.com/search?q=محمود‎&type=user&access_token=xxxx" 

и кажется, что он работал нормально, все результаты, где i п такая форма: "\ u0645 \ u062d \ u0645 \ u0648 \ u062f"

Когда я пытаюсь это:

curl "https://graph.facebook.com/search?q=bob&type=user&access_token=xxxx" 

результаты имеют регулярные английские символы.

Я думаю, что, может быть, ваша кодировка, что это неправильно, может быть, попробовать:

URL searchURL = new URL("https://graph.facebook.com/search?q=محمود‎&type=" + strType + "&access_token=" + strAccessToken); 

Это жёстко арабское строку в URL, проверьте, работает ли.

+0

Благодарим вас за заботу, но результаты, к сожалению, неверны. вы можете открыть этот профиль, это первый результат https://www.facebook.com/100001552568248 –

+0

Первый результат для чего? Я не понимаю арабского, поэтому я не уверен, что вы имеете в виду. –

+0

Ваш поиск по поисковым запросам о человеке с именем «محمود», но результаты этого поиска не включают это имя, а это означает, что поиск не работал нормально, спасибо –

Смежные вопросы