【PHP】抖音授权登录并获取用户公开信息(网页)
抖音官方文档:https://open.douyin.com/platform/doc/OpenAPI-oauth2
抖音的官方文档和接口及其随意。。。。
调用流程包括:
第三方发起抖音授权登录请求,抖音用户允许授权第三方应用后(扫码确认或账号密码授权登录),确认通过后,会重定向到第三方网站(回调接口)。并且附带授权临时票据(code)
第三方通过code参数,以及ClientKey和ClientSecret等参数,通过API换取access_token
通过access_token进行接口调用,获取用户基本信息及其他操作等。
一、注册账号
在抖音开放平台注册账号 ,网址:https://open.douyin.com/platform
二、创建应用
填写信息,然后提交,提交之后需要审核
三、查看应用
在《管理中心》可以查看应用信息
审核通过之后会得到Client Key和Client Secret,调用接口时需要使用
四、应用详情
在“接口权限”申请需要使用的权限
在“特殊权限”中申请“静默授权”,用来获取用户的open_id,open_id是用户在该平台的唯一标识
五、获取登录二维码
获取授权码(code) 请求方式:GET 请求链接:https://open.douyin.com/platform/oauth/connect/ |
|||
---|---|---|---|
名称 | 类型 | 必填 | 说明 |
client_key |
string | 是 | 应用唯一标识 |
response_type |
string | 是 |
填写code Available values : code |
scope |
string | 是 | 应用授权作用域,多个授权作用域以英文逗号(,)分隔 |
redirect_uri |
string | 是 | 授权成功后的回调地址,必须以http/https开头。 |
state |
string | 否 | 用于保持请求和回调的状态 |
public function GetLoginQrcode(){$url = $this->url . '/platform/oauth/connect';$redirect_uri = "回调地址";$scope = "scope";$url = $url . "?client_key=" . $this->key . "&response_type=code&scope=" . $scope . "&redirect_uri=" . $redirect_uri . "&state=1";header('Location:' . $url);exit();}
用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数
六、获取用户公开信息
获取用户公开信息 请求方式:GET 请求链接:https://open.douyin.com/oauth/userinfo/ |
|||
名称 | 类型 | 必填 | 说明 |
access_token | string | 是 | 调用/oauth/access_token/生成的token,此token需要用户授权 |
open_id | string | 是 | 通过/oauth/access_token/获取,用户唯一标志 |
要获取用户公开信息,需要先获取access_token和open_id
获取access_token和open_id:
获取用户公开信息 请求方式:GET 请求链接:https://open.douyin.com/oauth/access_token/ |
|||
名称 | 类型 | 必填 | 说明 |
client_key |
string | 是 | 应用唯一标识 |
client_secret | string | 是 | 应用唯一标识对应的密钥 |
code | string | 是 | 授权码。即/oauth/connect/回调时返回的code |
grant_type | string | 是 | 写死"authorization_code"即可 |
public function get_access_token($code)
{$url = $this->url . '/oauth/access_token/';$params = array('client_key' => $this->key,'client_secret' => $this->secret,'code' => $code,'grant_type' => 'authorization_code',);$data = $this->curl_post($url, $params);return $data;}
curl_post方法:https://blog.csdn.net/I_lost/article/details/104518356
返回数据:
根据access_token和open_id获取用户信息:
public function getUserInfo($access_token, $openid){$url = $this->url . '/oauth/userinfo/';$params = array('access_token' => $access_token,'open_id' => $openid);$result = $this->curl_post($url, $params);return $result;}
返回数据:
公用接口返回数据极少,详细数据可使用99接口(http://www.99api.com/comm_details?id=2034),但是需付费,且和抖音官方接口返回数据无法判断是否是同一个用户。
七、刷新access_token
|
|||
名称 | 类型 | 必填 | 说明 |
client_key |
string | 是 | 应用唯一标识 |
refresh_token | string | 是 | 填写通过access_token获取到的refresh_token参数 |
grant_type | string | 是 | 填refresh_token |
public function refresh_token($refresh_token){$url = $this->url . '/oauth/refresh_token/';$params = array('client_key' => $this->key,'grant_type' => "refresh_token",'refresh_token' => $refresh_token,);$result = $this->curl_get($url, $params);return $result;}
八、关于access_token和refresh_token的有效期
官方文档:
当access_token过期(过期时间15天)后,可以通过该接口使用refresh_token(过期时间30天)进行刷新:
1. 若access_token已过期,调用接口会报错(error_code=10008或2190008),refresh_token后会获取一个新的 access_token以及新的超时时间。
2. 若access_token未过期,refresh_token不会改变原来的access_token,但超时时间会更新,相当于续期。
3. 若refresh_token过期,获取access_token会报错(error_code=10010),此时需要重新走用户授权流程。
【PHP】抖音授权登录并获取用户公开信息(网页)相关推荐
- android 从新浪微博获取用户信息,Android授权登录新浪微博获取用户个人信息
Android授权登录新浪微博获取用户个人信息 Android授权登录新浪微博获取用户个 人信息 一.准备工作 我们都知道,无论是分享到新浪微博,还是获取新浪微博的用户信息,都离不开一样东西,那就是新 ...
- Android授权登录新浪微博获取用户个人信息
转载请注明出处:http://blog.csdn.net/u010214991/article/details/49149793 记得第一次发博文的时候我写了一篇文章,题为" Android ...
- Java 抖音授权登录
DyLoginVo @Data public class DyLoginVo {private String code;// dy 抖音, tt 头条, xg 西瓜private String bty ...
- uniapp 抖音授权登录、发布、分享 Ba-Aweme
简介(下载地址) Ba-Aweme 是一个集成抖音的uniapp插件,支持抖音授权登录,发布图片.视频,分享到联系人群组,直接拍摄等.自带选择图片和选择视频方法. 注意: 使用前,先到抖音开放平台,申 ...
- 微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现)
微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现) 文章目录 微信公众号网页OAuth2.0授权登录并获取用户信息(SpringBoot实现) 准备工作 开发思路 具体代 ...
- java支付宝网页授权登录界面_支付宝开发平台之第三方授权登录与获取用户信息...
对于第三方登录,我们常见了,很多应用可以进行第三方登录,我常用的有:QQ.微信.新浪.支付宝等等,今天我们就一起来简单学习一下支付宝第三方授权登录. 打开支付宝开发平台,注册成为开发者,点击开发者中心 ...
- 企业微信小程序_授权登录接口获取用户userid
文章目录 一.前置知识 1. 阅读 企业微信小程序开发文档 2. 企业微信小程序登录流程 3. 微信小程序区别 二.前端部分 2.1. 调用登录接口 2.2. 请求后端接口 2.3. 项目源码 三.后 ...
- SpringBoot2.0(九):实现微信授权登录并且获取用户信息
第一步:配置域名 由于我是本地测试,需要一个域名映射工具,改工具使用非常简单,如果自己有域名可以使用自己的域名(自己的域名必须备案)如果没有可以在第一个输入框里面输入自己的域名前缀!微信授权登录端口必 ...
- iOS微博授权登录及获取用户数据的方法
前言: 平时 在开发一个app应用时,往往 为了考虑用户体验以及防治用户的流失,都需要给应用添加第三方授权登录的功能.下面给大家说一下两种实现授权登录以及请求微博openAPI的方法. 第一种方法:使 ...
最新文章
- 改变gazebo背景颜色
- IOS 实现滚动文字
- AC日记——[SCOI2010]游戏 bzoj 1854
- 给 IConfiguration 写一个 GetAppSetting 扩展方法
- vue 中v-if 与v-show 的区别
- html select不能修改,更改HTML Select元素的选定选项
- 招商银行网站在chrome中 布局出现大问题,如图
- 重磅消息:全球首个光量子计算机诞生!
- CTO发飙:不要在Java代码中写set/get方法了,逮一次罚款***
- 安装卸载gitlab
- CxImage 使用报错解决办法
- VS2010SP1中文版安装问题
- Easy CHM 2.10
- 分贝相关概念及转换:dB、dBSPL、dBm、dBu、dBV、dBFS
- siege压力测试工具
- ucl计算机学院位置,2017伦敦大学学院设施及地理位置介绍
- 20201212大一集训牛客网题之d题中学数学题
- 微信组件:微信转账查询
- 天啊!你居然还不知道如何防止缓存击穿?用布隆过滤器啊!!!
- Android之在设备之间传输--MediaRouter、Google Cast、Amazon Fling介绍