了解Thinkphp集成抖音SDK的实现方法
发布时间 - 2020-08-14 00:00:00 点击率:次由于抖音官方SDK相关教程太少, 所以本着 前人种树后人乘凉 的精神,写下本篇博客
第一步:下载抖音官方SDK
下载地址:抖音SDK官方下载
选择 Php下载地址 进行下载即可
相关学习推荐:thinkphp
第二步:将SDK导入
1.解压下载的压缩文件
2.在thinkphp项目的根目录(与application目录同级)下的extend目录下新建Douyin目录,再在Douyin目录里新建Open目录
3.将解压出来的php-sdk/douyin_open/lib目录里面的所有文件和文件夹全部复制到刚才新建的Douyin\Open目录下
复制完成后目录结构如下
第三步:安装guzzlehttp依赖
因为抖音的SDK基本都是基于
guzzlehttp发送的请求,所以需要安装依赖
我这里使用Composer进行安装,如你还未安装Composer ,请先安装
- 1.执行命令
composer require guzzlehttp/guzzle:~6.0 - 2.安装完成后即可调用接口
第四步:接口调用
接口调用可参考下载的SDK内置的php-sdk\douyin_open\test\Api,里面有大部分API调用方法,可参考调用
我这里只演示授权并获取用户信息
false]));
//填写自己的client_key
$client_key = "xxx";
//填写自己的client_secret
$client_secret = "xxx";
$grant_type = 'authorization_code';//根据官方文档填写
try {
//调用获取AccessToken的接口
$result = $apiInstance->oauthAccessTokenGet($client_key, $client_secret, $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
$userApi = new UserInfoApi(new Client(['verify' => false]));
//获取用户信息
$userInfo = $userApi->oauthUserinfoGetWithHttpInfo($access_token,$openid);
dump($userInfo);
}
}常见问题整理
一、[0] cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) 错误
问题原因
该错误是由于 SSL证书 验证的原因
解决方案1:
只需要把$apiInstance = new DefaultApi(new Client());改为$apiInstance = new DefaultApi(new Client(['verify'=>false])); 即可,主要是修改new Client()这里,其他API同样
解决方案2: 下载一个ca-bundle.crt ,放到对应的目录,在php.ini文件中配置下路径
https://github.com/bagder/ca-bundle/blob/e9175fec5d0c4d42de24ed6d84a06d504d5e5a09/ca-bundle.crt
在php.ini的末尾加入 ,
curl.cainfo="真实路径/ca-bundle.crt"
重启web服务器
二、提示配置无效
调用授权登录接口https://open.douyin.com/platform/oauth/connect?client_key=xxx&response_type=code&scope=user_info&redirect_uri=redirect_uri&state=1提示授权失败或配置失效
问题原因
申请的应用为移动应用,实际调用为网页应用web扫码,网页应用在申请的时候有个授权域回调的配置,就是填写回调域名的
解决方案
重新申请网页应用,需要填写这个回调地址
三、获取用户信息报Invalid value for ‘e_account_role', must be one of ‘EAccountM', ‘EAccountS', ‘EAccountK'
调用UserInfoApi的oauthUserinfoGetWithHttpInfo接口出现该错误
问题原因
由于返回用户信息里的e_account_role字段为null所导致,可通过修改API解决,这个错误一般为非正常调用API所导致,如:使用移动应用的client_key强制授权网页应用导致
解决方案
由于返回用户信息里的e_account_role字段为null所导致,可通过修改API解决
根据TP的错误提示我们可以发下报错发生在Douyin\Open\Model\OauthUserinfoResponseData.php line 564
错误发生在第564行代码
将563 - 570行注释掉即可获取正常用户信息
修改前:
修改后:
相关学习推荐:编程视频
# thinkphp
# 自己的
# 回调
# 下载地址
# 报错
# 可通过
# 前人种树
# 都是
# 后人乘凉
# 发生在
# 有个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在建站主机中优化服务器配置?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
微信小程序 canvas开发实例及注意事项
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel怎么上传文件_Laravel图片上传及存储配置
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
简单实现Android验证码
EditPlus中的正则表达式实战(6)
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
Android自定义listview布局实现上拉加载下拉刷新功能
HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
动图在线制作网站有哪些,滑动动图图集怎么做?
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
香港服务器租用每月最低只需15元?
邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?
如何在局域网内绑定自建网站域名?
Linux系统命令中screen命令详解
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
如何快速配置高效服务器建站软件?
Python函数文档自动校验_规范解析【教程】
简历在线制作网站免费版,如何创建个人简历?
网站制作壁纸教程视频,电脑壁纸网站?
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
,交易猫的商品怎么发布到网站上去?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
jQuery中的100个技巧汇总
进行网站优化必须要坚持的四大原则
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
高防服务器:AI智能防御DDoS攻击与数据安全保障
如何用花生壳三步快速搭建专属网站?
🚀拖拽式CMS建站能否实现高效与个性化并存?
javascript中闭包概念与用法深入理解
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
南京网站制作费用,南京远驱官方网站?
香港服务器租用费用高吗?如何避免常见误区?
智能起名网站制作软件有哪些,制作logo的软件?
常州企业网站制作公司,全国继续教育网怎么登录?
Laravel Session怎么存储_Laravel Session驱动配置详解
Python正则表达式进阶教程_复杂匹配与分组替换解析
php 三元运算符实例详细介绍
如何自定义建站之星模板颜色并下载新样式?
下一篇:如何用PHP做到页面注册审核
下一篇:如何用PHP做到页面注册审核

