Как опубликовать обновление статуса в подключениях IBM с помощью abdera?
Как опубликовать обновление статуса в подключениях IBM с помощью abdera?
Я пытаюсь опубликовать статус в подключениях IBM, используя следующий код.
public class PostStatusUpdate {
public void postStatus(String username, String password, String feedURL) throws MalformedURLException, URISyntaxException {
try{
Abdera abdera = new Abdera();
AbderaClient client = new AbderaClient(abdera);
AbderaClient.registerTrustManager();
RequestOptions options = client.getDefaultRequestOptions();
URL url = new URL(feedURL);
String realm = url.getProtocol() + "://" + url.getHost();
client.usePreemptiveAuthentication(true);
try {
client.addCredentials(realm, null, null, new UsernamePasswordCredentials(username, password));
} catch (URISyntaxException e) {
e.printStackTrace();
}
Parser parser = abdera.getParser();
String urlText = "https://greenhouse.lotus.com/connections/opensocial/basic/rest/ublog/@me/@all";
String message = "Hai This is Tes Content Fron Nithin!";
Entry status = abdera.newEntry();
status.addCategory("http://www.ibm.com/xmlns/prod/sn/type", "entry", null);
status.addCategory("http://www.ibm.com/xmlns/prod/sn/message-type", "status", null);
message = StringEscapeUtils.escapeHtml4(message);
status.setContent(message);
ClientResponse response = client.put(urlText, status);
if (response.getType() == ResponseType.SUCCESS) {
System.out.println("I have posted status");
} else {
System.out.println("I failed");
}
}catch(Exception e){
System.out.println("Exception E -->"+e);
}
}
}
Пожалуйста помоги.
1 ответ
Я не верю, что Абдера поддерживает JSON.
Вы можете взять пример с CURL
curl --request POST -u "userid:password" -H "Content-Type: application/json" -d "{\"content\": \"A new microblog POST\",}" https://<SERVER>/connections/opensocial/basic/rest/ublog/@me/@all
И используйте это как модель в своем коде Java.
Или используйте это как модель
настроить URL
String apiUrl = "https://<SERVER>/connections/opensocial/rest/ublog/@me/@all";
Создайте HTTP-соединение, запрос и процесс
url = new URL(apiUrl);
HttpsURLConnection httpCon = (HttpsURLConnection) url
.openConnection();
httpCon.setDoOutput(true);
// Create via POST
String METHOD = "POST";
httpCon.setRequestMethod(METHOD);
String contentType = "application/json";
String auth = //build Basic auth here
httpCon.setRequestProperty("User-Agent", "curl/7.37.1");
httpCon.setRequestProperty("Content-Type", contentType);
httpCon.setRequestProperty("Authorization", auth);
String eventJson = "{\"content\":\"test\"}"; //"{\"content\" : \"A new microblog\" }";
System.out.println("" + eventJson);
DataOutputStream out = new DataOutputStream(
httpCon.getOutputStream());
out.write(eventJson.getBytes());
out.flush();
out.close();
InputStream is = httpCon.getInputStream();
StringWriter writer = new StringWriter();
IOUtils.copy(is, writer);
String response = writer.toString();
System.out.println(response);
System.out.println("The Response Code is "
+ httpCon.getResponseCode());
`