首页 > 作文

Thinkphp集成抖音SDK的实现方法

更新时间:2023-04-08 19:12:36 阅读: 评论:0

由于抖音官方sdk相关教程太少, 所以本着 前人种树后人乘凉 的精神,写下本篇博客

第一步:下载抖音官方sdk

下载地址:抖音sdk官方下载
选择 php下载地址 进行下载即可

第二步:将sdk导入

1.解压下载的压缩文件

2.在thinkphp项目的根目录(与application目录同级)下的extend目录下新建douyin目录国外创意,再在douyin目录里新建open目录

3.将解压出来的php-sdk/douyin_open/lib目录里面的所有文件和文件夹全部复制到刚才新建的douyin\open目录下

复制完成后目录结构如下

第三步:安装guzzlehttp依赖

因为抖音的sdk基本都是基于guzzlehttp发送的请求,所以需要安装依赖

我这里使用compor进行安装,如你还未安装co余额宝没有收益mpor ,请先安装

1.执行命令 compor require guzzlehttp/guzzle:~6.02.安装完成后即可调用接口

第四步:接口调用

接口调用可参考下载的sdk内置的php-sdk\douyin_open\test\api,里面有大部分api调用方法,可参考调用

我这里只演示授权并获取用户信息

<?php/** * created by phpstorm. * ur: bigniu * date: 2020-04-25 * time: 21:46:42 */namespace app\api\controller\v1;u douyin\open\api\defaultapi;u douyin\open\api\urinfoapi;u exception;u guzzlehttp\client;u think\controller;class douyin extends controller{  public function auth($code='')  {    //创建默认api的实例,verify=fal不做ssl验证,否则可能报错,根据实际情况而定    $apiinstance = new defaultapi(new client(['verify' => fal]));    //填写自己的client_key    $client_key = "xxx";    //填写自己的client_cret    $client_cret = "xxx";    $grant_type = 'authorization_code';//根据官方文档填写    try {      //调用获取accesstoken的接口      $result = $apiinstance->oauthaccesstokenget($client_key, $client_cret, $code, $grant_type);    } catch (exception $e) {      return error("登录失败");    }    //判断返回的数据是否为空    if (!$result) {      return error("登录失败");    }    //判断返回的message是否为error    if ($result->getmessage() == 'error') {      return error("登录失败");    }    //获取返回数据    $data=$result->getdata();    //获取openid和access_toekn    $openid = $data->getopenid();    $access_token = $data->getaccesstoken();    //创建用户信息api    $urapi = new urinfoapi(new client(['verify' => fal]));    //获取用户信息    $urinfo = $urapi->oauthurinfogetwithhttpinfo($access_token,$openid);    dump($urinfo);  }}

常见问题整理

一、[0] curl error 60: ssl certificate problem: unable to get local issuer certificate (e https://curl.haxx./libcurl/c/libcurl-errors.html) 错误

问题原因

该错误是由于 ssl证书 验证的原因

解决方案1

只需要把$apiinstance = new defaultapi(new client());改为$apiinstance = new defaultapi(new client(['verify'=>fal])); 即可,主要是修改new client()这里,其他api同样

解决方案2: 下载一个ca-bundle.crt ,放到对应的目录,在php.ini文件中配置下路径

在php.ini的末尾加入 ,

curl.c球体的表面积ainfo="真实路径/ca-bundle.crt"

重启web服务器

二、提示配置无效

调用授权登录接口/d/file/titlepic/connect style="text-align: center">

问题原因

申请的应用为移动应用,实际调用为网页应用web扫码,网页应用在申请的时候有个授权域回调的配置,就是填写回调域名的

解决方案

重新申请网页应用,需要填写这个回初一下数学期末试卷调地址

三、获取用户信息报invalid value for ‘e_account_role’, must be one of ‘eaccountm’, ‘eaccounts’, ‘eaccountk’

调用urinfoapioauthurinfogetwithhttpinfo接口出现该2021年河南高考一分一段表错误

问题原因

由于返回用户信息里的e_account_role字段为null所导致,可通过修改api解决,这个错误一般为非正常调用api所导致,如:使用移动应用的client_key强制授权网页应用导致

解决方案

由于返回用户信息里的e_account_role字段为null所导致,可通过修改api解决
根据tp的错误提示我们可以发下报错发生在douyin\open\model\oauthurinforespondata.php line 564
错误发生在第564行代码

将563 – 570行注释掉即可获取正常用户信息

修改前:

修改后:

到此这篇关于thinkphp集成抖音sdk的实现方法的文章就介绍到这了,更多相关thinkphp集成抖音sdk内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-08 19:12:06,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/69a5811e0967b1db69eff4c378ea48da.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Thinkphp集成抖音SDK的实现方法.doc

本文 PDF 下载地址:Thinkphp集成抖音SDK的实现方法.pdf

标签:用户信息   目录   接口   错误
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图