如何在Android中集成Yammer api

时间:2013-05-24 07:57:08

标签: android api yammer

我在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墙上发布。

1 个答案:

答案 0 :(得分:0)

根据Yammer文件https://developer.yammer.com/restapi/#rest-messages

您应该将参数传递给请求,而不是帖子中的纯字符串。 (否则,你怎么期望Yammer知道身体是什么,主题是什么,附件......)

通常情况下,这是使用UrlEncodedFormEntityNameValuePair列表完成的。

您的实体应如下所示:

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()));