<?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. 红旗linux桌面版反应慢,红旗Linux6.0桌面版使用感受
  2. Zxing生成二维码思路和源码解析
  3. android屏幕底部黑块,Android surfaceView 黑块问题
  4. sqlserver concat 字符串位数不够左侧补0_一文搞懂Python字符串格式化
  5. C++继承同名静态成员处理
  6. 【HDU - 6081】度度熊的王国战略(SW算法,全局最小割)
  7. 孩子数学总是考不好?做好这五点,下次成绩一定好
  8. 厦门高桔科技有限公司
  9. 关于ibatis.net框架(NPetshop学习)
  10. cobalt strike
  11. 马斯克把飞船方向盘用在特斯拉新车上!乞丐版80万起
  12. 我们需要有创业精神,但不是每个人都要去创业
  13. ubuntu系统安装时的分区方案
  14. 微服系列之Feign使用HttpClient和OkHttp网络请求框架
  15. 【PTA】【C语言】求闰年数
  16. Duilib样式性大全-Duilib属性大全-Duilib XML属性大全-Duilib XML样式大全
  17. 教你如何更改windows10系统默认字体
  18. cesesesese
  19. 基于pywin32的考勤警报软件
  20. 证明 logX X 对所有的 X 0成立 理解mark

热门文章

  1. 2015 年电赛测评试题——多种波形发生器
  2. 什么是手机定位,手机定位在生活中带来哪些作用
  3. 京东商城SPU、SKU是如何设计的
  4. [USACO16DEC]Team Building团队建设
  5. 域名解析TTL是什么意思 TTL值设置为多少合适?
  6. 20140925百度校园招聘一面
  7. Java pdf图书下载网站整理
  8. html蒙版源代码,jquery蒙版控件实现代码_jquery
  9. 数字盲打怎么练_小键盘数字盲打练习
  10. 《葬经》郭璞 高清彩色版手抄欣赏