获取accesstoken示例代码
官方文档:https://microapp.bytedance.com/dev/cn/mini-app/develop/server/interface-request-credential/getaccesstoken
public function get_access_token(){
$appid = 'tt4a8******2271f';//配置appid
$secret = '420d0ae397099**********9a97017d09378';//配置secret
$url = "https://developer.toutiao.com/api/apps/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
$result = https_request($url);
$Result = json_decode($result,true);
return $Result['access_token'];
}生成带参数二维码示例代码
存到服务器本地+路径存到用户指定字段用于二次分享的时候直接拿取对应带参数二维码
官方文档: https://microapp.bytedance.com/dev/cn/mini-app/develop/server/qr-code/createqrcode
//获得抖音二维码
public function dyshare(){
if (!input('?post.spcode')) {
$ret['code'] = 400;
$ret['message'] = "缺少参数,请参照接口文档,规范传参";
$ret['data'] = null;
return json($ret);
}
$spcode=request()->param('spcode');
$code=Db::name('newuser')->where('spcode',$spcode)->find();
if(!$code){
return json(['code'=>400,'message'=>'用户不存在','data'=>'']);
}
if($code['dyfxcode']!=''){
return json(['code'=>200,'message'=>'获取成功','data'=>request()->domain().$code['dyfxcode']]);
}
$qr_path = "./uploads/";
if(!file_exists($qr_path.'user/')){
mkdir($qr_path.'user/', 0700,true);//判断保存目录是否存在,不存在自动生成文件目录
}
$filename = 'user/'.time().'.png';
$file = $qr_path.$filename;
$access_token= $this->get_access_token();
$url = 'https://developer.toutiao.com/api/apps/qrcode';
$qrcode = array(
'access_token'=> $access_token,
'scene' => $spcode,//二维码所带参数
'appname' => 'douyin',
// 'width' => '430',
'path' => urlencode("pages/index/index?spcode=".$spcode),//二维码跳转路径(要已发布小程序)
// 'platform' => 'miniapp',
// "set_icon" => true
);
$data = $this->https_post($url,json_encode($qrcode));//请求接口
$filename = date('YmdHis').rand(10000,999999).'.jpg';
$dir = ROOT_PATH.'public/uploads/douyin';
if(!is_dir($dir)){
@mkdir($dir,0777,true);
}
$file = $dir.'/'.$filename;
file_put_contents($file,$data);
$retFile ='/uploads/douyin/'.$filename;
Db::name('newuser')->where('spcode',$spcode)->update(['dyfxcode'=>$retFile]);
return json(['code'=>200,'message'=>'获取成功','data'=>request()->domain().$retFile]);
}httpGet请求,可以直接放在公共函数库application/common.php里面
#curl请求示例代码
if(!function_exists('https_request')){
function https_request($url,$data = null){
if(function_exists('curl_init')){
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION,1);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}else{
return false;
}
}
}
上一篇:给网页加个漂亮的密码访问功能[php代码]
下一篇:thinkphp5判断语法示例代码
栏目分类
帝国CMS教程
织梦cms教程
discuz教程
ecshop教程
phpcms教程
wordpress教程
苹果cms教程
php教程
数据库教程
微信小程序教程
python教程
css教程
js教程
视频教程
电子书
热门推荐- 01 分享几个随机美女图api接口 3668热度
- 02 优学院自动刷课PHP代码 631热度
- 03 php文件限速下载示例代码 619热度
- 04 随机二次元图片API接口源码 529热度
- 05 php一键打包压缩目录文件代码示例 454热度
