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的实现方法[通俗易懂]

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • qt创建线程的几种方式_创建一个新线程的方法

    qt创建线程的几种方式_创建一个新线程的方法Java中创建线程主要有三种方式:一、继承Thread类创建线程类(1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。因此把run()方法称为执行体。(2)创建Thread子类的实例,即创建了线程对象。(3)调用线程对象的start()方法来启动该线程。publicclassFirstThreadTestextendsThread{inti=0;//重写run方法,run方法的方法体就是现场执行体

    2022年8月30日
    4
  • JavaWeb-过滤器Filter学习(四)敏感词过滤实例

    JavaWeb-过滤器Filter学习(四)敏感词过滤实例通过Filter来实现留言板的敏感词过滤…思路很简单,我们这里的敏感词是直接先放进去的,实际项目中,肯定是存在数据库中。在Filter过滤器中,我们先拿到用户提交的留言,如果出现了敏感词,我们就用*号来替换。代码演示:index.jsp:<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@taglibur

    2022年5月27日
    35
  • mybatis 分页查询避免两次查询同时返回总数和数据

    mybatis 分页查询避免两次查询同时返回总数和数据分页查询一般分成两次查询一次查总数一次查列表,下面这种写法可以一次返回sql<resultMapid=”queryOrderListResultMap”type=”要返回数据的类型”></resultMap><resultMaptype=”Long”id=”queryOrderListCount”autoMappin…

    2022年5月24日
    40
  • shell编程入门_unix编程

    shell编程入门_unix编程1.Shell的概念shell是一个命令行解释器,它为客户提供了一个Linux内核发送请求一边运行程序界面系统级程序,用汉语可以通过shell启动、挂起、停止甚至编写一些程序。shell还是一个功能强大的编程语言,易于编辑,易于调试,灵活性强,shell是结识知识性的脚本语言,在我们shell中直接调用Linux的系统命令操作即可。2.Shell的分类(1)BourneShell(bshell)从1979年在unix系统就开始使用了。它的主要…

    2025年6月19日
    2
  • pipenv是什么_pipenv安装失败

    pipenv是什么_pipenv安装失败pipenv发布于2017年1月,它是一种Python依赖管理工具,你可以把它看做是pip和virtualenv的组合体,pipenv可以帮你管理虚拟环境和依赖文件,并且提供一系列命令和选项来帮助你实

    2022年8月6日
    10
  • 什么是转发和重定向转发_转发和重定向的相同点

    什么是转发和重定向转发_转发和重定向的相同点通过代码和图解详细解释转发和重定向的区别。最后得出结论!

    2025年10月1日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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