Thinkphp集成抖音SDK的实现方法[通俗易懂]

Thinkphp集成抖音SDK的实现方法

大家好,又见面了,我是全栈君。

第一步:下载抖音官方SDK

下载地址:抖音SDK官方下载:https://open.douyin.com/platform/doc/OpenAPI-devtool-sdk_download

选择 Php下载地址 进行下载即可

Thinkphp集成抖音SDK的实现方法[通俗易懂]

第二步:将SDK导入

1.解压下载的压缩文件

2.在thinkphp项目的根目录(与application目录同级)下的extend目录下新建Douyin目录,再在Douyin目录里新建Open目录

Thinkphp集成抖音SDK的实现方法[通俗易懂]

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

Thinkphp集成抖音SDK的实现方法[通俗易懂]

复制完成后目录结构如下

Thinkphp集成抖音SDK的实现方法[通俗易懂]

第三步:安装guzzlehttp依赖

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

我这里使用Composer进行安装,如你还未安装Composer ,请先安装

1.执行命令

 composer require guzzlehttp/guzzle:~6.0

2.安装完成后即可调用接口

第四步:接口调用

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

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

<?php
/**
 * Created by PhpStorm.
 * User: bigniu
 * Date: 2020-04-25
 * Time: 21:46:42
 */
namespace app\api\controller\v1;


use Douyin\Open\Api\DefaultApi;
use Douyin\Open\Api\UserInfoApi;
use Exception;
use GuzzleHttp\Client;
use think\Controller;




class Douyin extends Controller
{
    public function auth($code='')
{
        //创建默认API的实例,verify=false不做ssl验证,否则可能报错,根据实际情况而定
        $apiInstance = new DefaultApi(new Client(['verify' => 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);
    }
}

常见问题整理

请访问 PHP抖音SDK搭建问题整理

Thinkphp集成抖音SDK的实现方法[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111773.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • GirdView 通过 RenderControl 导出 excel 日期问题

    GirdView 通过 RenderControl 导出 excel 日期问题for(inti=0;i&lt;gt.Rows.Count;i++){ gt.Rows[i].Cells[7].Text=Convert.ToDateTime(gt.Rows[i].Cells[7].Text).ToString("yyyy年MM月dd日HH:mm:ss");}

  • python的缩进规则具体是什么_python语言中的缩进

    python的缩进规则具体是什么_python语言中的缩进python的缩进规则有哪些发布时间:2020-09-2315:18:50来源:亿速云阅读:70作者:Leah本篇文章给大家分享的是有关python的缩进规则有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一般的语言都是通过{}或end来作为代码块的标记,而Python则是通过缩进来识别代码块的。对于Python的这种“缩进”风…

    2022年10月13日
  • docker安装rabbitmq无法进入管理页面

    docker安装rabbitmq无法进入管理页面文章目录1.环境准备2.开始安装2.1解决安装不能打开管理后台的问题1.环境准备腾讯云服务器CENTOS7版本安装docker容器2.开始安装dockerpullrabbitmq:management说明:为什么不直接安装dockerpullrabbitmq这个,因为这个安装后,开启对应端口后是不能直接访问它的管理后台,需要额外的命令开启,后面会将这种情况容器运行,对应的端口开启dockerrun-di–name=mycloud_rabbitm

  • Linux/Unix系统SSH远程按Backspace键删除时出现^H的处理方法

    Linux/Unix系统SSH远程按Backspace键删除时出现^H的处理方法

  • Java Integer类型比较问题

    Java Integer类型比较问题JavaInteger类型比较问题【强制】所有整型包装类对象之间值的比较,全部使用equals方法比较。说明:对于Integervar=?在-128至127范围内的赋值,Integer对象是在IntegerCache.cache产生,会复用已有对象,这个区间内的Integer值可以直接使用==进行判断,但是这个区间之外的所有数据,都会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用equals方法进行判断。—-阿里巴巴Java开发手册抱着探索的精神我们来看

  • listbox里面添加WrapPanel ,支持自适应换行[通俗易懂]

    listbox里面添加WrapPanel ,支持自适应换行[通俗易懂]listbox大家都会用,如果要让它支持换行操作还必须加上ListBox.ItemsPanelItemsPanelTemplatetoolkit:WrapPanel//ItemsPanelTemplate/ListBox.ItemsPanel但是也有问题了,必须设置WrapPanel的宽度,也就是不能自适应宽度去调整每一行的宽度,这样的后果可能会出现要么全部推在一起,要么要有横向的滚动…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号