由于抖音官方SDK相关教程太少, 所以本着 前人种树后人乘凉 的精神,写下本篇博客
第一步:下载抖音官方SDK
下载地址:抖音SDK官方下载
选择 Php下载地址 进行下载即可
第二步:将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调用方法,可参考调用
我这里只演示授权并获取用户信息
<"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"text-align: center">
问题原因
申请的应用为移动应用,实际调用为网页应用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行注释掉即可获取正常用户信息
修改前:
修改后:
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。







