首页 > 编程语言 >php 对接vivo 用户行为数据上传接口

php 对接vivo 用户行为数据上传接口

时间:2024-02-29 19:26:02浏览次数:21  
标签:ch setopt vivo time curl php 上传 CURLOPT

vivo文档:https://open-ad.vivo.com.cn/doc/index?id=217

public function vivo(){
        $accessToken = $this->request->param('accessToken');
        $srcId = $this->request->param('srcId');
        $cvType = $this->request->param('cvType');
        $pageUrl = $this->request->param('pageUrl');
        if (!$accessToken && !$srcId && !$cvType && !$pageUrl){
            $this->error('参数错误');
        }
        $current_time = microtime(true); // 获取当前时间的毫秒级时间戳,返回的是一个浮点数
        $current_time_in_milliseconds = round($current_time * 1000); // 将浮点数的时间戳转换为整数形式的毫秒级时间戳
        $data = [
            'dataList' => [[
                "cvTime"=> $current_time_in_milliseconds,
                "cvType"=> $cvType,
            ]],
            "pageUrl" => $pageUrl,
            "srcId" => $srcId,
            "srcType" => 'web',

        ];
//        $accessToken = "4e0fc22e085564a96a20d5a402348afd1f298c315ab85c9e09a30fe9a91e52d9";
        $timestamp = $current_time_in_milliseconds;
        $nonce = time();
        $url = "https://marketing-api.vivo.com.cn/openapi/v1/advertiser/behavior/upload?access_token=" .$accessToken . "&timestamp=" . $timestamp . "&nonce=" .$nonce;
        $data_string = json_encode($data);
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'Content-Type: application/json',
                'Content-Length: ' . strlen($data_string))
        );
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 忽略对证书的验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 不检查证书中是否设置域名

        $result = curl_exec($ch);

        if ($result === false) {
            echo 'cURL Error: ' . curl_error($ch);
        } else {
             return $result;
        }
        curl_close($ch);
    }

 

标签:ch,setopt,vivo,time,curl,php,上传,CURLOPT
From: https://www.cnblogs.com/ixiangang06/p/18045175

相关文章

  • easyadmin 无法上传大文件的问题
    <span><aclass="layui-btn"data-upload="file_url"data-upload-number="one"data-upload-exts="exe|msi|rar|zip|7z"data-upload-icon="image"><iclass="fafa-upload"></i>上传&l......
  • FastAPI系列:上传文件File和UploadFile
    上传文件#file仅适用于小文件@app.post("/files/")asyncdefcreate_file(file:bytes|None=File(default=None)):ifnotfile:return{"message":"Nofilesent"}else:return{"file_size":len(file)}......
  • flash上传图片问题
    貌似只有360浏览器可以上传先安装https://www.flash.cn/下载安装安装后我用的好几个浏览器都不好使,就360可以......
  • php 生成小程序二维码
    publicfunctiongenerate($code,$isShow){//构建二维码参数$scene='C='.$code.'&path=green';$params=["scene"=>$scene,'page'=>'pages/log......
  • php生成树状层级子孙树
    关于简单的方式获取树状层级子孙树的方案我已经写过了,在这里,当时是用简单的递归实现的,但是现在回头想想,如果层级很多,数据也很多,用递归感觉还是会不稳妥,这就有必要想办法转换为迭代来实现了。以下是迭代的代码实现<?php$data=[['id'=>1,'name'=>'中国','pid'=>0......
  • SpringMVC系列之(十)文件上传
    文件上传1.文件上传的前提form表单的ectype属性(表单请求正文的类型)取值必须是multipart/form-data,默认值是application/x-www-form-urlencodedmethod属性值为post提供文件选择域<inputtype="file"/>2.文件上传的原理ectype=application/x-www-form-urlencoded(默认值)表......
  • [安洵杯 2019]easy_serialize_php
    [安洵杯2019]easy_serialize_php<?php$function=@$_GET['f'];functionfilter($img){$filter_arr=array('php','flag','php5','php4','fl1g');$filter='/'.implode('|�......
  • CTFHUB-web-信息泄露-PHPINFO
    开启题目访问只有这一个页面,看一下flag在没在页面里信息发现:https://www.cnblogs.com/Cl0ud/p/15999347.html系统版本信息配置文件位置allow_url_fopen&allow_url_include文件包含必看选项之一,如果allow_url_fopen和allow_url_include都为On的时候,则文件包含函数......
  • 设置PHP最大连接数及php-fpm -static高并发
    设置PHP最大连接数及php-fpm高并发参数调整 服务器中找到php-fpm.conf配置(有的会在引入的www.conf中)1234567891011121314151617181920212223[global]pid=/usr/local/php/var/run/php-fpm.piderror_log=/usr/local/php/var/log/ph......
  • Thinkphp
    官网https://www.thinkphp.cn/docComposerComposer是PHP的一个依赖管理工具,它允许你声明项目所需的库依赖,并且会为你安装它们。在许多方面,它与其他编程语言中的包管理工具类似,例如Node.js的npm或者Python的pip。使用Composer可以使PHP开发变得更加高效、组织化,并......