我在Android中遇到Yammer Intregration的问题,我无法使用Yammer验证我的应用程序,所以我无法通过我的Android应用程序在Yammer上发布我的数据。
JSONObject job = new JSONObject();
/*ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("score", score)); // user : User name from Text Field
*/
HttpPost post = new HttpPost("https://www.yammer.com/api/v1/messages.json?client_id=JV8Vr6vYaF0RdyVnLKhnRg&client_secret=zACHEVUnUKaRD58Ho5MvnSjvRZaadNqpCOWirc9I8SiA&access_token="+tokens[1]);
System.out.println("tokens[1]----------.>>>>>"+tokens[1]);
post.setHeader("Content-Type", "text/json; charset=utf-8"); // Header
// for
// HttpPost
ResponseHandler<String> responseHandler = new ResponseHandler<String>() {
public String handleResponse(HttpResponse response) // Header
// for
// HttpResponse
throws ClientProtocolException, IOException {
response.setHeader("Content-Type", "charset=utf-8");
HttpEntity entity = response.getEntity();
StringBuffer outString = new StringBuffer();
outString.append(EntityUtils.toString(entity));
return outString.toString();
}
};
try {
System.out.println("hi this is deloitte game.");
post.setEntity(new StringEntity("hi this is deloitte game."));
DefaultHttpClient httpclient = new DefaultHttpClient();
String response = httpclient.execute(post, responseHandler);
System.out.println("response---->>"+response);
//job = new JSONObject(response);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*
我已将这些代码用于yammer intregration,在此代码中我使用post方法在yammer上发布数据但不能在yammer墙上发布。
答案 0 :(得分:0)
根据Yammer文件https://developer.yammer.com/restapi/#rest-messages
您应该将参数传递给请求,而不是帖子中的纯字符串。 (否则,你怎么期望Yammer知道身体是什么,主题是什么,附件......)
通常情况下,这是使用UrlEncodedFormEntity
和NameValuePair
列表完成的。
您的实体应如下所示:
List<NameValuePair> values = new ArrayList<NameValuePair>();
values.add(new BasicNameValuePair("body", "hi this is deloitte game.");
HttpEntity postEntity = new UrlEncodedFormEntity(values);
post.setEntity(postEntity);
服务实际上可能需要JSON输入,在这种情况下甚至可以很简单。
如果它在json中,我看起来像:
JSONObject jsonObject = new JSONObject();
jsonObject.put("body", "hi this is a body");
post.setEntity(new StringEntity(jsonObject.toString()));