最近、お客様からこのような機能を実装したいとの要望がありました。記事情報をWeChat公開プラットフォームに公開した後、再度公式サイトにも公開する必要があり、同じ作業を二度行うことになるので実装したいとのことでした。 WeChatパブリックプラットフォームで記事を公開し、プラットフォームで記事を公開した後、同時に公式Webサイトにも公開することができます編集者は調査を通じて、WeChatパブリックプラットフォームの公式Webサイトが関連情報収集インターフェースを提供していることを発見しました。アドレスは次のとおりです: https://developers.weixin.qq.com/doc /offiaccount/Asset_Management/Get_materials_list.html
インターフェイス名は次のとおりです: Get Permanent Materials. 実際には、新しい素材記事を追加する場合、以下に示すように、公開後に保存された記事素材情報をクリックします。
をクリックすると、公開中の記事素材のみが収集されます。以下に示すように、[公開] ボタンを押して公開レコードに保存します -- 公開します。
エディターが以下で詳しく説明します。
インターフェイス:
http リクエスト メソッド:
POST https://api.weixin.qq.com/cgi-bin/material/ atchget_material?access_token=ACCESS_TOKEN
##1 ACCESS_TOKENを取得
public function getAccessToken(){ $info = Db::name('access_token')->order('inputtime desc')->find(); if($info){ $time = time(); $long_time = $time - $info['updatetime']; if($long_time>=$info['expires_in']){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret; $res = $this->getJson($url); if(in_array('access_token',$this->DbSy->GetArrElement($res))){ $insert['access_token'] = $res['access_token']; $insert['expires_in'] = $res['expires_in']; $insert['updatetime'] = time(); $up_info = Db::name('access_token')->where('id',$info['id'])->update($insert); if(!$up_info){ return json(['code'=>103,'msg'=>'AccessToken更新失败']); } $AccessToken = $res['access_token']; }else{ return json(['code'=>100,'msg'=>'AccessToken获取失败']); } }else{ $AccessToken = $info['access_token']; } }else{ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$this->appid."&secret=".$this->secret; $res = $this->getJson($url); if(in_array('access_token',$this->DbSy->GetArrElement($res))){ $insert['access_token'] = $res['access_token']; $insert['expires_in'] = $res['expires_in']; $insert['updatetime'] = time(); $insert['inputtime'] = time(); $up_info = Db::name('access_token')->where('id',$info['id'])->insertGetId($insert); if($up_info){ $AccessToken = $res['access_token']; }else{ return json(['code'=>101,'msg'=>'AccessToken插入失败']); } }else{ return json(['code'=>100,'msg'=>'AccessToken获取失败']); } } return $AccessToken; }
2 マテリアル リストの取得
access_token 値を取得した後、access_token 値を使用してマテリアル リストを取得できます。public function getArticleList($offset,$type='news',$length=20){ $data = array( 'type'=>$type, 'offset'=>$offset, 'count'=>$length ); $json_data = json_encode($data); $AccessToken = $this->getAccessToken(); $url = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=".$AccessToken; $res = $this->getJsonData($url,$json_data); return $res; //dump($res); }
以上がWeChat上で公開された記事の情報収集を実現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。