详解使用php调用微信接口上传永久素材

2019-05-01 18:29:25王旭

调用微信素材接口方法

说明:该方法为调用微信获取永久素材列表接口方法

 /**
  * 获取永久素材列表
  * @param $token
  * @param $type 类型有image,vedio和audio
  * @param $offset 起始位置,0表示从第一个
  * @param $count 个数,区间为0~20
  */
  public function getForeverList($token,$type,$offset,$count){
   $data = array(
    'type' => $type,
    'offset' => $offset,
    'count' => $count,
   );
   $result = $this->http_post(
         self::API_URL_PREFIX.self::MEDIA_FOREVER_BATCHGET_URL.'access_token='.$token,
         self::json_encode($data)
         );
   error_log('forever list is :'.$result);
   if ($result)
   {
    $json = json_decode($result,true);
    if (isset($json['errcode'])) {
    $this->errCode = $json['errcode'];
    $this->errMsg = $json['errmsg'];
    return false;
    }
    return $json;
   }
   return false;
  }

同步文章到微信接口

action方法

说明:该方法为此接口的入口方法

调用方式:http://${domain}/weixin/upload_article/

/**
 * 同步问答的文章到订阅号上接口
 */
public function index_action(){
 $article_list = $this->model('article')->get_articles_list(null, 1, 18, 'add_time DESC');
 $access_token = $this->get_access_token();
 $base_url = 'http://wenda.qiezilife.com/article/';
 foreach ($article_list as $key => $article){

  if($article['has_attach']){
   $attaches = $this->model('publish')->get_attach('article', $article['id'], 'max');
   foreach ($attaches as $i => $a){
    //过滤获取第一张图片
    if($a['is_image']){
     $attache = $a;
     break;
    }
   }

   $img = $attache['path'];
   $size = filesize($img);
   echo $img.',size is :'.$size;
   echo '<br/>';
   $file_info = array(
    'filename' => $img,
    'content-type' => 'image/jpg', //文件类型
    'filelength' => $size
   );
   $upload_img_result = $this->upload_meterial($file_info,$access_token);
   $media_id = $upload_img_result;
   error_log('media_id is ===============>'.$media_id);
  }else{
   $media_id = '1PoTp0SqruwWu_HX0HR_jUp4STX5HSpYkibb1Ca8ZQA';
  }

  $articles =array();
  //上传图片成功了就开始上传图文
  $upload_article_data = array(
   'title' => $article['title'],
   'thumb_media_id' => $media_id,
   'author' => '茄子营养师',
   'digest' => '茄子生活,你的品质生活指南',
   'show_cover_pic' => 1,
   'content' => $article['message'],
   'content_source_url' => $base_url.$article['id']
  );

  $articles[] = $upload_article_data;

  $data = array(
   'articles' => $articles
  );
  $result= $this->uploadForeverArticles($access_token,$data);
  echo self::json_encode($result);
  error_log('upload_article result is : '.json_encode($result));
  error_log('============================upload end============================');

  }
}

uploadForeverArticles方法

说明:该方法为调用微信上传永久素材接口方法

相关文章 大家在看