2016-12-11 1 views
0

ich muss helfen, json Anfrage von xpages zu yandex JSON Schnittstelle API zu verursachen. Wie konfiguriert man die json https Anfrage für diese API? https://tech.yandex.com/translate/doc/dg/reference/translate-docpage/#codeswie man json Antrag von xpages zu yandex übersetzen lässt api

oder

Wie dieser Block in xpages wie dieser

https://translate.yandex.net/api/v1.5/tr.json/translate ? 
key=<API key> 
& text=<text to translate> 
& lang=<translation direction> 
& [format=<text format>] 
& [options=<translation options>] 
& [callback=<name of the callback function>] 
+0

Es sieht so aus, als ob Sie ein paar gute Antworten bekommen haben. Ich würde mein eigenes hinzufügen, aber es wäre keine schrecklich differenzierende Antwort und das vorbereitete Beispiel, das ich gerade habe [aus meinem Blog] (https://edm00se.io/xpages/rest-consumption-server-side/) würde meiner Meinung nach ein wenig modernisiert werden müssen. Ich würde wahrscheinlich Steps (stwissel) Ansatz nehmen, da es einfach zu implementieren wäre entweder in einem 'xe: restService', wie er erwähnt, oder anderen. –

Antwort

3

Die einfachste Weg

URL myURL = new URL(serviceURL); 
HttpURLConnection myURLConnection = (HttpURLConnection)myURL.openConnection(); 
String userCredentials = "username:password"; 
String basicAuth = "Basic " + new String(new Base64().encode(userCredentials.getBytes())); 
myURLConnection.setRequestProperty ("Authorization", basicAuth); 
myURLConnection.setRequestMethod("POST"); 
myURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
myURLConnection.setRequestProperty("Content-Length", "" + postData.getBytes().length); 
myURLConnection.setRequestProperty("Content-Language", "en-US"); 
myURLConnection.setUseCaches(false); 
myURLConnection.setDoInput(true); 
myURLConnection.setDoOutput(true); 

Beispielcode Blok verwenden, um dies zu tun, ist es in einem einfachen Java zu wickeln Klasse mit einem Parameter freien Konstruktor (auch bekannt als Bean) und dann von der serverseitigen JavaScript wie:

aufrufen
var myYandex = new myYandexBean(); 
myYandex.callServer(somethingtoTranslate); 

Für den Rückruf würde ich empfehlen, einen Rest Kontrolle zu verwenden, es würde so aussehen wie /yournsf.nsf/somepage.xsp/specialName