新浪微博的开发,如果共享一张图片,有木有高手知道的,把代码共享下,感激

解决方案 »

  1.   

    新浪微博的SDK 中有,你去下载
      

  2.   

    微博配图? LZ仔细看新浪微博sdk,这些不需要你亲自实现的
      

  3.   

            必选  类型及范围  说明
    source  false  string  采用OAuth授权方式不需要此参数,其他授权方式为必填参数,数值为应用的AppKey。
    access_token  false  string  采用OAuth授权方式为必填参数,其他授权方式不需要此参数,OAuth授权后获得。
    status  true  string  要发布的微博文本内容,必须做URLencode,内容不超过140个汉字。
    pic  true  binary  要上传的图片,仅支持JPEG、GIF、PNG格式,图片大小小于5M。
    lat  false  float  纬度,有效范围:-90.0到+90.0,+表示北纬,默认为0.0。
    long  false  float  经度,有效范围:-180.0到+180.0,+表示东经,默认为0.0。
    annotations  false  string  元数据,主要是为了方便第三方应用记录一些适合于自己使用的信息,每条微博可以包含一个或者多个元数据,必须以json字串的形式提交,字串长度不超过512个字符,具体内容可以自定。 
      

  4.   

    private String upload(Weibo weibo, String source, String file, String status, String lon,
                String lat) throws WeiboException {
            WeiboParameters bundle = new WeiboParameters();
            bundle.add("source", source);
            bundle.add("pic", file);
            bundle.add("status", status);
            if (!TextUtils.isEmpty(lon)) {
                bundle.add("lon", lon);
            }
            if (!TextUtils.isEmpty(lat)) {
                bundle.add("lat", lat);
            }
            String rlt = "";
            String url = Weibo.SERVER + "statuses/upload.json";
            AsyncWeiboRunner weiboRunner = new AsyncWeiboRunner(weibo);
            weiboRunner.request(this, url, bundle, Utility.HTTPMETHOD_POST, this);        return rlt;
        }
      

  5.   

     /**
         * 发表图片微博消息。目前上传图片大小限制为<5M。
         * @param status 要发布的微博消息文本内容
         * @param item 要上传的图片
         * @return the latest status
         * @throws WeiboException when Weibo service or network is unavailable
         * @since Weibo4J 1.2.0
         * @see <a href="http://open.t.sina.com.cn/wiki/index.php/Statuses/upload">statuses/upload </a>
         */
        public Status uploadStatus(String status,ImageItem item) throws WeiboException {
         if(!URLEncodeUtils.isURLEncoded(status))
         status=URLEncodeUtils.encodeURL(status);
         return new Status(http.multPartURL(getBaseURL() + "statuses/upload.json",
                    new PostParameter[]{new PostParameter("status", status), new PostParameter("source", source)},item, true));
        }这是发微薄带照片的api 我不懂item怎么写,我认为item应该是张图片,可我不知道怎么写,有木有人,知道的,发下代码,谢谢
      

  6.   

    需要特别说明的是 我们的sdk是weibo4j-oauth2.jar
    另外说明的是 图片是用二进制传过去的
    LZ应该看看官方的demo
    Weibo weibo = new Weibo();
    weibo.setToken("sina token");
    Timeline tm = new Timeline();
    Status status = null;
    String content = "xxxx";
    byte[] img = null;//这里是图片二进制数据
    if(img!=null && img.length>0){
    ImageItem ii = new ImageItem(img);
    status = tm.UploadStatus(URLEncoder.encode(content, "UTF-8"), ii);
    }else{
    status = tm.UpdateStatus(content);
    }
      

  7.   

    解决了,我用的是 UploadStatus(File,String status) 这个方法,直接给的是一个图片文件