抖音开放平台 php-sdk注意事项
1 版本必须为php7.1
2 当本地curl需要访问https时,出现SSL certificate: unable to get local issuer certificate错误信息
解决办法:
到http://curl.haxx.se/ca/cacert.pem下载pem文件,并将文件拷贝到D:\phpStudy\PHPTutorial\cacert.pem (根据实际修改)
在php.ini
增加
curl.cainfo = “D:\phpStudy\PHPTutorial\cacert.pem”

获取权限 用的tp5
require_once APPPATH .'libraries/Qrcode.php';//生成二维码要引入相应文件
$ClientKey=config('site.ClientKey');
$douyinClientSecret=config('site.douyinClientSecret');
$url="https://open.douyin.com/platform/oauth/connect/?client_key=".$ClientKey."&response_type=code&scope=user_info,fans.data&redirect_uri=http://screen.imfic.com.cn/admin.php/douyin/notify";
//生成图片返回前端
$img = QRcode::png($url);
注意:scope=aweme.share%2Cuser_info,fans.data //scope权限问题,要想每次扫码都出现授权登录页面需要加的
//%2C 表示的 ASCII 字符“,”,意思是,这里的%2C,可以用逗号代替
// aweme.share是接口权限,在申请ClientKey和ClientSecret会有
登录会跳转到抖音授权登录界面
使用抖音登录会跳转到回调地址
public function notify(){
$res = ['code'=>0, 'data'=>[]];
$ClientKey=config('site.ClientKey');
$douyinClientSecret=config('site.douyinClientSecret');
$code=input("get.code");
$url="https://open.douyin.com/oauth/access_token/?client_key=".$ClientKey."&client_secret=".$douyinClientSecret."&code=".$code."&grant_type=authorization_code";
file_put_contents('1.txt', $url);
$info=$this->getJson($url);
if($info['message']=="success"){
$data['access_token']=$info['data']['access_token'];
$data['open_id']=$info['data']['open_id'];
$data['expires_in']=$info['data']['expires_in'];
$data['refresh_token']=$info['data']['refresh_token'];
$data['addtime']=time();
$res=Db::table('daping_douyintoken')->insert($data);
if($res){
$res['data'] = 'success';
$res['code']= 1;
} else {
$res['data'] = '网络异常!';
$res['code']= 2;
}
} else {
$res['data'] = 'code已失效';
$res['code']= 3;
}
echo json_encode($res,JSON_UNESCAPED_UNICODE);
}
一个获取粉丝情况的接口的调用
public function fansData(){
header('Access-Control-Allow-Origin:*');
$timestamp = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
$isExistToday=Db::table('daping_douyin')->where('addtime>'.$timestamp)->find();
if ($isExistToday) {
return json_encode($isExistToday);
}else{
$info=Db::table('daping_douyintoken')->order('addtime desc')->find();
$ClientKey=config('site.ClientKey');
$douyinClientSecret=config('site.douyinClientSecret');
$url="https://open.douyin.com/fans/data/?access_token=".$info['access_token']."&open_id=".$info['open_id'];
$info=$this->getJson($url);
$data=$info['data'];
if($data['error_code']==0){
$fans_data=$data['fans_data'];
$gender_distributions_data=$fans_data['gender_distributions'];//男女
$age_distributions_data=$fans_data['age_distributions'];//年龄
$active_days_distributions=$fans_data['active_days_distributions'];//粉丝活跃天数
$insertData['all_fans_num']=$fans_data['all_fans_num'];
$insertData['man']=$gender_distributions_data[0]['value'];
$insertData['woman']=$gender_distributions_data[1]['value'];
$insertData['age_less23']=$age_distributions_data[0]['value'];
$insertData['age_24_29']=$age_distributions_data[1]['value'];
$insertData['age_30_35']=$age_distributions_data[2]['value'];
$insertData['age_36_41']=$age_distributions_data[3]['value'];
$insertData['age_greater_42']=$age_distributions_data[4]['value'];
$insertData['day0_4']=$active_days_distributions[0]['value'];
$insertData['day5_12']=$active_days_distributions[1]['value'];
$insertData['day13_20']=$active_days_distributions[2]['value'];
$insertData['day_21_31']=$active_days_distributions[3]['value'];
$insertData['addtime']=time();
$flag=Db::table('daping_douyin')->insert($insertData);
if ($flag) {
$data= Db::table('daping_douyin')->order('addtime desc')->find();
return json_encode($data);
}else{
return json_encode(array('code'=>400,'msg'=>'插入数据失败'));
}
}
}
}
437

被折叠的 条评论
为什么被折叠?



