-2

Android の Yammer 統合に問題があります。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 統合に使用しました。このコードでは、post メソッドを使用してデータを yammer に投稿しましたが、yammer ウォールに投稿できませんでした。

4

1 に答える 1

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()));
于 2013-05-24T10:08:22.283 に答える