您现在的位置是:首页 > 技术教程 正文

php对接抖音小程序授权登录

admin 阅读: 2024-03-18
后台-插件-广告管理-内容页头部广告(手机)

后端代码

/**
* 抖音授权 获取openid
* @param Request $request

* @return Json */ public function code2Session(Request $request): Json { $param = $request->param(); $config = config('douyinconfig.douyin'); $arr = [ 'appid' => $config['appid'], //抖音appid 'secret' => $config['secret'], //抖音secret 'code' => $param['code'], //前台获取的code 'anonymous_code' => '', ]; $url = 'https://developer.toutiao.com/api/apps/v2/jscode2session'; //抖音接口地址 //获取信息 $rea = $this->getJson($url, $arr); $res = json_decode($rea, true); return api_success($res['data']); }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

/**
* 抖音接口$rea 返回值
/

{
“err_no”: 0,
“err_tips”: “success”,
“data”: {
“session_key”: "hZy6t19VPjFqm*******",
“openid”: “V3WvSshYq9******”,
“anonymous_openid”: “”,
“unionid”: “f7510d9ab***********”
}
}


前端可根据openid session_key 获取抖音方用户名、头像、性别等信息

//curl请求 调用抖音接口 protected function getJson($url, $data, $ssl = true) { //curl完成 $curl = curl_init(); $data = json_encode($data); //设置curl选项 curl_setopt($curl, CURLOPT_URL, $url); //URL $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ' Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 FirePHP/0.7.4'; curl_setopt($curl, CURLOPT_USERAGENT, $user_agent); //user_agent,请求代理信息 curl_setopt($curl, CURLOPT_AUTOREFERER, true); //referer头,请求来源 curl_setopt($curl, CURLOPT_TIMEOUT, 30); //设置超时时间 //SSL相关 if ($ssl) { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); //禁用后cURL将终止从服务端进行验证 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); //检查服务器SSL证书中是否存在一个公用名(common name)。 } // 处理post相关选项 curl_setopt($curl, CURLOPT_POST, true); // 是否为POST请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // 处理请求数据 // 处理响应结果 curl_setopt($curl, CURLOPT_HEADER, false); //是否处理响应头 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //curl_exec()是否返回响应结果 // 发出请求 $response = curl_exec($curl); if (false === $response) { echo '
'
, curl_error($curl), '
'
; return false; } curl_close($curl); return $response; }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
标签:
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

在线投稿:投稿 站长QQ:1888636

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索