有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从安卓应用程序向linkedIn发送带有文本的java post图像

我想从我的安卓应用程序将SD卡上的图片和文本发布到linkedIn

我可以分享文字,但图片不能分享

我尝试了以下代码:

share.setOnClickListener(new OnClickListener() {
    @Override

     public void onClick(View v) {

            String share = et.getText().toString();
            if (null != share && !share.equalsIgnoreCase("")) {

                OAuthConsumer consumer = new CommonsHttpOAuthConsumer(Config.LINKEDIN_CONSUMER_KEY, Config.LINKEDIN_CONSUMER_SECRET);
                consumer.setTokenWithSecret(accessToken.getToken(), accessToken.getTokenSecret());

                DefaultHttpClient httpclient = new DefaultHttpClient();
                HttpPost post = new HttpPost("https://api.linkedin.com/v1/people/~/shares");
                try {
                    consumer.sign(post);
                } catch (OAuthMessageSignerException e) {
                    e.printStackTrace();
                } catch (OAuthExpectationFailedException e) {
                    e.printStackTrace();
                } catch (OAuthCommunicationException e) {
                    e.printStackTrace();
                } // here need the consumer for sign in for post the share
                post.setHeader("content-type", "text/XML");
                byte[] data = null;
             try {
            ileInputStream fis = new FileInputStream(imgUrl1);
            Bitmap bi = BitmapFactory.decodeStream(fis);
            ByteArrayOutputStream baos = new ByteArrayOutputStream()
                   bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            data = baos.toByteArray();  
            }
              catch (FileNotFoundException e) 
               { 
             e.printStackTrace();
         Log.d("onCreate", "debug error  e = " + e.toString());
           }     

         String myEntity = "<share><comment>"+  text +"</comment>    <content><submitted-image-url>data</submitted-image-url></content><visibility><code>anyone</code></visibility></share>";

              try {
                    post.setEntity(new StringEntity(myEntity));
                    org.apache.http.HttpResponse response = httpclient.execute(post);
                    Toast.makeText(LinkedInSampleActivity.this,
                            "Shared sucessfully", Toast.LENGTH_SHORT).show();
                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                } catch (ClientProtocolException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }else {
                Toast.makeText(LinkedInSampleActivity.this,
                        "Please enter the text to share",
                        Toast.LENGTH_SHORT).show();
            }
        }
    });
}

共 (1) 个答案

  1. # 1 楼答案

    在linkedIn中,您不能共享本地图像。 为此,您需要将图像存储在服务器中并获取该图像的url,现在您可以将该图像发布到linkedIn

    这可能会帮助你