微信公衆番号はパラメータ付きQRコードを作成し、パラメータ付きQRコードをスキャンしたファンにラベルを付ける.
2943 ワード
1.パラメータ付きQRコードを作成する:①微信インタフェース
POSTデータ例:
戻り説明(通常時に返されるjsonパケットの例)
2.スキャンパラメータ付きQRコードのファンにラベルを付ける
インタフェース呼び出し要求の説明
POSTデータ例が正しく返される:
http :POST( https )
https://api.weixin.qq.com/cgi-bin/tags/create?access_token=ACCESS_TOKEN
POSTデータ例:
{ "tag" : { "name" : " "// } }
戻り説明(通常時に返されるjsonパケットの例)
{ "tag":{ "id":134,// id "name":" " } }
2.スキャンパラメータ付きQRコードのファンにラベルを付ける
インタフェース呼び出し要求の説明
http :POST( https )
https://api.weixin.qq.com/cgi-bin/tags/members/batchtagging?access_token=ACCESS_TOKEN
POSTデータ例が正しく返される:
{ "openid_list" : [//
"ocYxcuAEy30bX0NXmGn4ypqx3tI0",
"ocYxcuBt0mRugKZ7tGAHPnUaOW7Y" ],
"tagid" : 134 }
コードは次のとおりです.public function qrcodeAdd(){
if(IS_GET){
$this->display('qrcode_add');
}else{
$data = I('post.');
// print_r($data);
// exit;
$scene_str = $data['scene_str'];
$expire = $data['expire'];
// echo $expire;
// exit;
$type = $data['qr_type'];
// echo $type;
// exit;
$this->createtag($scene_str);
$mp = getCurrentMp();
$data['mp_id'] = $mp['id'];
$id = M('mp_qrcode')->add($data);
$ret = Popularize::createTicket($type,$expire,$scene_str);
// print_r($ret);
if(isset($ret['ticket'])){
$temp = Popularize::getQrcode($ret['ticket']);
// echo $temp;
// exit;
$ret['src'] = str_replace("./" , "/",$temp);
$ret['create_time'] = time();
$result = M('mp_qrcode')->where("id=$id")->save($ret);
$this->ajaxReturn(array('status'=>1,'msg'=>'OK','url'=>U('index')));
}else{
$this->ajaxReturn(array('status'=>0,'msg'=>$ret));
}
}
}
public function createtag($tagname=""){
// $tagname = " ";
$mp = getCurrentMp();
$mp_id = $mp['id'];
$where['mp_id'] = $mp_id;
$where['tag'] = $tagname;
$ret = M('mp_tags')->where($where)->select();
// print_R($ret);
// exit;
// print_r($data);
// exit;
if(empty($ret)){
$access_token = getAccess_token();
$queryurl = "https://api.weixin.qq.com/cgi-bin/tags/create?access_token=$access_token";
$arr['tag']['name'] = $tagname;
$data = json_encode($arr,JSON_UNESCAPED_UNICODE);
$result = Curl::callWebServer($queryurl, $data, 'POST');
// print_r($result);
// exit;
if(isset($result['tag']['id'])){
$arr1['tag_id'] = $result['tag']['id'];
$arr1['tag'] = $result['tag']['name'];
$arr1['mp_id'] = $mp_id;
$temp = M('mp_tags')->add($arr1);
}
}
}