<?php
/*** 获取头条小程序分享二维码*/
function getTtShareQrCode(){$code_img = 'share_'.$_POST['id'].'_png';$access_token = get_tt_access_token();$base_url = 'https://developer.toutiao.com/api/apps/qrcode';$path = '';$send_info = ['access_token'=>$access_token,//服务端 API 调用标识'appname'=>'toutiao',//是打开二维码的字节系 app 名称,默认为今日头条,toutiao douyin pipixia huoshan'path'=>$path,//小程序/小游戏启动参数,小程序则格式为 encode({path}?{query}),小游戏则格式为 JSON 字符串,默认为空'width'=>280,//二维码宽度,单位 px,最小 280px,最大 1280px,默认为 430px'line_color'=>null,//二维码线条颜色,默认为黑色 {"r":0,"g":0,"b":0}'background'=>null,//二维码背景颜色,默认为透明'set_icon'=>false,//是否展示小程序/小游戏 icon,默认不展示];$img_buffer = CurlPostJson($base_url,$send_info);//图片 Buffer//保存图片$code_img$file = fopen($code_img,"w");//创建件准备写入fwrite($file,$img_buffer);//写入fclose($file);//关闭
}
/*** 获取头条access_token*/
function get_tt_access_token(){$data = json_decode(file_get_contents("tt_access_token.json"));if(empty($data) || $data->expire_time < time()) {$base_url = 'https://developer.toutiao.com/api/apps/token';$send_info = ['appid'=>C('TT_APP_ID'),//小程序 ID'secret'=>C('TT_APP_SECRET'),//小程序的 APP Secret,可以在开发者后台获取'grant_type'=>'client_credential',//获取 access_token 时值为 client_credential];$base_url = $base_url.'?appid='.$send_info['appid'].'&secret='.$send_info['secret'].'&grant_type='.$send_info['grant_type'];$res = CurlGet($base_url);$data = json_decode($res,true);if($data){$data['expire_time'] = time() + $data['expires_in'];//过期时间file_put_contents('tt_access_token.json',json_encode($data));return $data['access_token'];}} else {return $data->access_token;}
}
/*** curl Get请求* @param  $url* @return mixed*/
function CurlGet($url) {$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//跳过ssl检查项$output = curl_exec($ch);if($output === FALSE ){echo "CURL Error:".curl_error($ch);}curl_close($ch);return $output;
}
/*** curl POST Json请求* @param $url* @param $postData* @return mixed*/
function CurlPostJson($url, $postData) {$ch = curl_init();//初始化一个cURL会话curl_setopt($ch,CURLOPT_URL,$url);//设置请求的URLcurl_setopt($ch,CURLOPT_RETURNTRANSFER,true);//true:返回结果,不输出curl_setopt($ch, CURLOPT_POST, true);//true:设置为POST方式//传送json数据$json_data = json_encode($postData);curl_setopt($ch,CURLOPT_POSTFIELDS,$json_data);curl_setopt($ch,CURLOPT_HTTPHEADER,array('Content-Type:application/json'));curl_setopt($ch, CURLINFO_HEADER_OUT, true);//true:追踪句柄的请求字符串$output = curl_exec($ch);//执行给定的cURL会话if($output === FALSE ){echo "CURL Error:".curl_error($ch);}curl_close($ch);//关闭一个cURL会话return $output;
}

获取头条小程序分享二维码相关推荐

  1. 微信小程序分享二维码生成

    生成微信小程序分享二维码 微信小程序官方开放的二维码的接口,其中有一个是生成小程序二维码的,还有一个是圆形的小程序码,我这里就用php生成二维码. 完整代码: public function shar ...

  2. 微信小程序转二维码方法分享

    微信小程序转二维码方法分享 需要转码的可以看看 这个东西是看个人需求的,618就要来了,各种活动也将来袭 有些小伙伴不知道怎么生成 为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法 首 ...

  3. 获取微信code、调用小程序云函数、获取小程序支付二维码、小程序授权、小程序获取SeesionId

    获取微信code.调用小程序云函数.获取小程序支付二维码.小程序授权.小程序获取SeesionId 只需要调用对应的接口就行了 1. 小程序code获取 基本信息 接口状态: 已完成 接口URL: h ...

  4. 张小龙详细解读:微信小程序扫描二维码可进入(附实录)

    在今天举行的2017微信公开课PRO版上,腾讯微信负责人张小龙表示,微信小程序特性是:无须安装.触手可及.用完即走.无须卸载. 张小龙解答了关于小程序的疑问,并透露小程序计划于2017年1月9日正式上 ...

  5. 小程序转二维码在线机器人【工具】——实现

    分享或转发小程序自动转换成二维码(小程序码),并且获取小程序中的参数 相信许多开发人员或者是薅羊毛党用到这个的场景还是挺多的,到底是怎么实现的呢? 我们来看一下吧 1.准备好抓包工具 2.登陆&quo ...

  6. 小程序替换二维码logo并添加文字

    需求:项目需要把生成的小程序二维码中心的logo换成用户自己的头像 解决方案: 1.先获取到小程序生成的二维码 //小程序路径 String page = ""; //传入小程序a ...

  7. 小程序海报二维码生成插件

    分享一个小程序海报二维码插件 建议使用方式: 测试环境先改造封装成自己需要的类文件,再引入框架使用,生成图片参考截图 金装 下载地址 海报生成源码下载

  8. 飞鹅小票打印机嵌入生成指定小程序页面二维码的解决方案 | 扫普通链接二维码打开小程序示例 | 生成正方形小程序码

    部分朋友不需要打印机的业务,则 忽略有关打印机的部分 即可. 其他有关 微信小程序配置的介绍是通用的!通用的! 生成正方形小程序码,请看 标题一. 扫普通链接生成的二维码打开小程序,请看 标题二. 目 ...

  9. 【微信小程序】二维码跳转规则的前缀匹配是什么意思?

    前言 基础库 2.12.0 开发者工具 1.03.2008270 微信小程序的二维码跳转规则 为了方便小程序开发者更便捷地推广小程序,兼容线下已有的二维码,微信公众平台开放扫描普通链接二维码跳转小程序 ...

  10. 小程序推广二维码生成

    小程序推广二维码生成 <?php$appid = '***************';$secret ='********************************';$url = &qu ...

最新文章

  1. nginx代理响应报文体不全解决思路
  2. Numpy 从数值范围创建数组
  3. 如何在webservice中取得sesssionid
  4. 联想m7400pro更换墨粉盒怎么清零_佳能打印机怎么换墨水 佳能打印机换墨水注意事项【详解】...
  5. QT5主界面“关闭窗口”按钮设置弹出提示询问信息
  6. MySQL04:DDL数据定义语言
  7. github安装python包_使用PyCharm从GitHub安装Python包
  8. linux系统支持什么输入法,Linux系统常用输入法框架
  9. 服务器换完主板后无盘进不了系统,NF主板集成网卡无盘无法启动的解决方案
  10. signature=6bac8596b91cba298303e9d5c86a608f,2019年武汉市中考英语试题
  11. 华为计算机网络基础知识,华为HCNE专题一:网络基础知识
  12. 淘客外卖返利 优惠券 小程序公众号 电影票话费分销淘宝客CPS系统
  13. 日光山谷的秋天景色。
  14. 放大器电路在设计过程中常见问题分析及如何解决
  15. 无题(2012.1.8)
  16. 什么是数字孪生专用引擎技术
  17. Python深度学习与机器视觉(一)
  18. 读书笔记(三)--拜占庭问题
  19. MAC下输入除号 (÷)等字符
  20. python 递归函数 古典问题兔子

热门文章

  1. 传感器技术—湿敏电阻式传感器(学习笔记五)
  2. 红旗 Linux 5.0 正式版下载地址
  3. Java用HttpClient爬大学英语四六级考试成绩查询接口
  4. 「三楼总版主」葫芦侠创始人-流火
  5. lineedit加入边框 qt_qt qlineedit 边框
  6. Arduino uno读取mpu6050模块角度以及温度值
  7. 关于JS按钮倒计时禁用的小Demo
  8. 【实用算法教学】——教你如何用转换器抽取电影,音乐甚至是比赛等特征
  9. linux 输入密码后无法进入系统,【Linux学习笔记十六】用户密码修复和GRUB引导错误无法进入系统解决办法...
  10. Prometheus Operator开始