2012-04-15 16 views
0

Ich versuche, eine Anwendung für die Suche in Facebook zu entwickeln. das Problem ist, dass wenn arabische Wort zu suchen, habe ich falsche Ergebnisse (nicht-arabische Beiträge) Ich habe versucht, das arabische Wort zu verschlüsseln, bevor es URL mit der folgenden Codierung (UTF-8, ISO-8859-6 und Windows-1256), die Ergebnisse ändern sich, aber immer noch falsch.Suche nach arabischen Wort in Facebook usig facebook Grafik API

das folgende ist der Java-Code, ich verwende:

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; 
} 

Es arbeitet mit Englisch gut, aber nicht mit arabischen

Jede Hilfe oder Idee wird

+0

Es wäre hilfreich, wenn Sie den Code, den Sie für die Suche verwenden, eingeben würden. –

+0

Code ist jetzt –

Antwort

0

Ich weiß nicht erkannt werden, Ich habe es versucht:

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

und es scheint wie es gut funktioniert, alle Ergebnisse, wo ich n dieser Form: "\ u0645 \ u062d \ u0645 \ u0648 \ u062f"

Wenn ich versuche dies:

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

die Ergebnisse haben regelmäßige Englisch Zeichen.

Ich denke, dass vielleicht Ihre Codierung ist, was falsch ist, vielleicht versuchen:

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

, dass eine arabische String in der URL ist hart codieren, überprüfen Sie, ob das funktioniert.

+0

Vielen Dank für die Pflege, aber die Ergebnisse sind leider nicht korrekt. Sie können dieses Profil öffnen, es ist das erste Ergebnis https://www.facebook.com/100001552568248 –

+0

Erstes Ergebnis für was? Ich verstehe kein Arabisch, also bin ich mir nicht sicher, was du meinst. –

+0

Ihre Such-URL sucht nach einer Person namens "محمود", aber die Ergebnisse dieser Suche enthalten diesen Namen nicht, was bedeutet, dass die Suche nicht funktioniert hat, danke –