扫一扫浏览

拉取头条推广表单数据php代码分享

未结贴
0 257
袁小白未认证 2019-05-09 15:16:43
收藏

如果你在头条上面做表单推广,它的表单数据只在平台上面,只有通过接口的方式拉取到自己的库里,正面是我用户的,供须要的朋友参考

Access-Token 获取

获取飞鱼Access-Token

php代码

<?php
function get_Signature($time,$start_time,$end_time){
    $string="/crm/v2/openapi/pull-clues/?start_time=$start_time&end_time=$end_time $time";
    $Signature = base64_encode(hash_hmac("sha256", $string,"MVhDRU9KQ1BUSE9a",false));
    return $Signature;
}

function get_toutiao_cvm($start_time,$end_time,$page=1,$page_size=10){
    $time=time();
    $headers=array(
        "Timestamp:".$time,
        "Access-Token:xxxxxxxxxxxxxxxxxxxxxxx",   // 今日头条 Access-Token 
        "Signature:".get_Signature($time,$start_time,$end_time)
    );

    // 取数据
    $clue_id = file_get_contents("toutiao_cvm_config.txt");

    $url="https://crm.bytedance.com/crm/v2/openapi/pull-clues/?start_time=$start_time&end_time=$end_time&page=$page&page_size=$page_size";
    $result = http($url,$headers);
    print_r($result);
    if($result['count']>0){

        $count = $result['count'];
        $page_num=ceil($count/$page_size);

        foreach ($result['data'] as $key => $value) {

            if($value['clue_id']==$clue_id){
                exit;
            }
            // 把第一条数据的clue_id放入配置文件
            if($key==0 && $page==1){
                file_put_contents("toutiao_cvm_config.txt", $value['clue_id']);
            }

            /*
                写入数据库操作
                .................
            */
            echo $value['clue_id'].'<br/>';
        }


        if($page_num>$page){
            get_toutiao_cvm($start_time,$end_time,$page+1,$page_size);
        }
    }
}

get_toutiao_cvm(date("Y-m-d"),date("Y-m-d"));  //两个日期之间的数据

function http($url, $headers=[], $data='', $method='GET'){
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 对认证证书来源的检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_SSLVERSION, 1);
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // 模拟用户使用的浏览器
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);          // 使用自动跳转
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1);             // 自动设置Referer
    if($method=='POST'){
        curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
        if ($data != ''){
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
        }
    }

    curl_setopt($curl, CURLOPT_TIMEOUT, 30);            // 设置超时限制防止死循环
    curl_setopt($curl, CURLOPT_HEADER, 0);              // 显示返回的Header区域内容
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);      // 获取的信息以文件流的形式返回
    $tmpInfo = curl_exec($curl); // 执行操作
    if ($tmpInfo === FALSE){
        echo 'cURL Error:'.curl_error($curl);
    }
    curl_close($curl); // 关闭CURL会话
    return json_decode($tmpInfo,true); // 返回数据
}

最近热帖 HOT TOPIC
thinkphp5隐藏默认模块的一些问题 1666
【全套视频】thinkphp5视频教程 1555
父元素flex之后,子元素高度自适应问题 1539
教你如果处理高并发数据不同步的问题php篇 1373
关于thinkphp5.0.x getshell漏洞的说明 1277
tpframe新建主题 1269
tpframe安装教程 1268
TPFrame框架robot模块重磅来袭,内附2.1版本 1258
一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现 1217
tpframe应用目录结构 1185
月度热议HOT COMMENTS
tpframe 后续版本你希望有的功能是什么(分享贴) 12
关于tpframe的一点话题 6
cms插件在分类排序的时候JSON错误 6
基于tpframe v3.x 的微信公众号插件已批量上线 5
新增的管理员没有权限操作CMS模块。 3
api接口文档插件easydoc的基本用法,快速搞定接口文档 3
tpframe插件tcms插件v2.2已发布上线,欢迎下载使用 3
thinkphp5自动完成操作,两次运行的详解 2
tpframe-curd操作之添加数据 2
tpframe能带给你的,让你快速搞定各服务端(api,pc,mobile,wechat)代码的框架 2
爆料早知道:TPFrame v3.2版本已更新我有好想法