新浪微博应用开发:发表微博

文章作者:中山市飞娥软件工作室「Feiesoft.com」  浏览次数:1756 次  更新日期:2013-12-23

 /**
  * 发表微博
  *
  * 发布一条微博信息。
  * <br />注意:lat和long参数需配合使用,用于标记发表微博消息时所在的地理位置,只有用户设置中geo_enabled=true时候地理位置信息才有效。
  * <br />注意:为防止重复提交,当用户发布的微博消息与上次成功发布的微博消息内容一样时,将返回400错误,给出错误提示:“40025:Error: repeated weibo text!“。
  *
  * @access public
  * @param string $status 要更新的微博信息。信息内容不超过140个汉字, 为空返回400错误。
  * @param float $lat 纬度,发表当前微博所在的地理位置,有效范围 -90.0到+90.0, +表示北纬。可选。
  * @param float $long 经度。有效范围-180.0到+180.0, +表示东经。可选。
  * @param mixed $annotations 可选参数。元数据,主要是为了方便第三方应用记录一些适合于自己使用的信息。每条微博可以包含一个或者多个元数据。请以json字串的形式提交,字串长度不超过512个字符,或者数组方式,要求json_encode后字串长度不超过512个字符。具体内容可以自定。例如:'[{"type2":123}, {"a":"b", "c":"d"}]'或array(array("type2"=>123), array("a"=>"b", "c"=>"d"))。
  * @return array
  */
 function update( $status, $lat = NULL, $long = NULL, $annotations = NULL )
 {
  $params = array();
  $params['status'] = $status;
  if ($lat) {
   $params['lat'] = floatval($lat);
  }
  if ($long) {
   $params['long'] = floatval($long);
  }
  if (is_string($annotations)) {
   $params['annotations'] = $annotations;
  } elseif (is_array($annotations)) {
   $params['annotations'] = json_encode($annotations);
  }

  return $this->oauth->post( 'statuses/update', $params );
 }

 /**
  * 发表图片微博
  *
  * 发表图片微博消息。目前上传图片大小限制为<5M。
  * <br />注意:lat和long参数需配合使用,用于标记发表微博消息时所在的地理位置,只有用户设置中geo_enabled=true时候地理位置信息才有效。
  *
  * @access public
  * @param string $status 要更新的微博信息。信息内容不超过140个汉字, 为空返回400错误。
  * @param string $pic_path 要发布的图片路径, 支持url。[只支持png/jpg/gif三种格式, 增加格式请修改get_image_mime方法]
  * @param float $lat 纬度,发表当前微博所在的地理位置,有效范围 -90.0到+90.0, +表示北纬。可选。
  * @param float $long 可选参数,经度。有效范围-180.0到+180.0, +表示东经。可选。
  * @return array
  */
 function upload( $status, $pic_path, $lat = NULL, $long = NULL )
 {
  $params = array();
  $params['status'] = $status;
  $params['pic'] = '@'.$pic_path;
  if ($lat) {
   $params['lat'] = floatval($lat);
  }
  if ($long) {
   $params['long'] = floatval($long);
  }

  return $this->oauth->post( 'statuses/upload', $params, true );
 }


 /**
  * 指定一个图片URL地址抓取后上传并同时发布一条新微博
  *
  * @param string $status  要发布的微博文本内容,内容不超过140个汉字。
  * @param string $url    图片的URL地址,必须以http开头。
  * @return array
  */
 function upload_url_text( $status,  $url )
 {
  $params = array();
  $params['status'] = $status;
  $params['url'] = $url;
  return $this->oauth->post( 'statuses/upload', $params, true );
 }