前端实现

获取微信广告端传来的click_id,并传给后端,需要注意的是如果是自己的落地页那就要看看click_id是否是5位,若是5位则需要让创建微信广告的人员改创建方式,即用户从朋友圈点击广告进来后不直接跳自己写的落地页,创建时加一层内置的,否则上报失败。(click_id 格式:18 位或 16 位长度字符串)

<script>
function GetQueryString(name){var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则if(r!=null)return  unescape(r[2]); return null;}//ul = window.location.href;
clickid = GetQueryString("gdt_vid");
</script>

后端实现

以model类为例,上报失败的原因大多在于上报的数据格式有问题(第4步),虽返回值正常但是上报后没效果,以下为实现

1)创建数据源

public function createSorce(){$access_token = $this->getAccessToken();$url = "https://api.weixin.qq.com/marketing/user_action_sets/add?version=v1.0&access_token=$access_token";$header=array(//"Accept: application/json","Content-Type: application/json;charset=utf-8",);$post_data = '{"type": "WEB","name": "wxadtest","description": "test"}';$res = json_decode($this->curl_post($url, $post_data,$header));return $res;}

2)数据源报表查询

public function uasReport(){$access_token = $this->getAccessToken();$user_action_set_id = 'xxxx';$date = date("Y-m-d");$url = "https://api.weixin.qq.com/marketing/user_action_set_reports/get?version=v1.0&access_token=$access_token&user_action_set_id=$user_action_set_id&time_granularity=HOURLY&aggregation=RESERVATION";$date_range = '{"start_date":'.'"'.$date.'"'.',"end_date":'.'"'.$date.'"'.'}';$url = $url . "&" ."date_range=" . urlencode($date_range);$res = json_decode($this->httpGet($url));return $res;}

3)数据源上报

//数据源查询public function searchUas(){$user_act_set_id = 'xxxx';$access_token = $this->getAccessToken();$url = "https://api.weixin.qq.com/marketing/user_action_sets/get?version=v1.0&access_token=$access_token&user_action_set_id=1108137102";$res = json_decode($this->httpGet($url));return $res;}

4)数据源上报(特别注意的是在上报方法中$post_data的数据中的拼接)

public function upMp($click_id){$user_act_set_id = 'xxxx';$access_token = $this->getAccessToken();$timestamp = time();$ui = "xxxx";$url = "https://api.weixin.qq.com/marketing/user_actions/add?version=v1.0&access_token=$access_token";$header=array(//"Accept: application/json","Content-Type: application/json;charset=utf-8",);$post_data = '{"actions":[{"user_action_set_id":'.'"'.$user_act_set_id.'"'.',"url":'.'"'.$ui.'"'.',"action_time":'.'"'.$timestamp.'"'.',"action_type":"RESERVATION","trace":{"click_id":'.'"'.$click_id.'"'.'}}]}';$res = json_decode($this->curl_post($url, $post_data,$header));$errcode = $res->errcode;return $errcode;}

其他:

//post
private function curl_post($url, $post_data,$header){$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS,$post_data);curl_setopt($curl, CURLOPT_TIMEOUT, 30);curl_setopt($curl, CURLOPT_HEADER, 0);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);curl_setopt($curl, CURLOPT_HTTPHEADER,$header);$res = curl_exec($curl);curl_close($curl);return $res;}//accessToken
private function getAccessToken() {// access_token 应该全局存储与更新,以下代码以写入到文件中做示例$data = json_decode($this->get_php_file("access_token.php"));if ($data->expire_time < time()) {// 如果是企业号用以下URL获取access_token//$url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";$res = json_decode($this->httpGet($url));$access_token = $res->access_token;if ($access_token) {$data->expire_time = time() + 7000;$data->access_token = $access_token;$this->set_php_file("access_token.php", json_encode($data));}} else {$access_token = $data->access_token;}return $access_token;}

微信广告数据源创建查询与上报-PHP相关推荐

  1. 微信公众号成绩查询开发-Leo老师

    微信公众号现在可分为两种-订阅号和服务号,两者又可在做区分一是未认证,二是微信认证号;服务号支持功能多于订阅号,认证号的功能支持多于未认证账号. 在工作学习中,我们经常会遇到微信公众号成绩查询开发 这 ...

  2. 看微信如何往你的朋友圈里投广告?微信广告团队李昊在微信公开课演讲实录...

    大家好!非常感谢今天有这样一个机会可以跟大家在微信公开课做这样的交流跟分享,今年是微信广告的第五年,也是微信广告零售行业的一个新的开始. 首先我们来看一下目前的零售行业在微信广告的投放情况,当前的零售 ...

  3. 看微信如何往你的朋友圈里投广告?微信广告团队李昊在微信公开课演讲实录

    大家好!非常感谢今天有这样一个机会可以跟大家在微信公开课做这样的交流跟分享,今年是微信广告的第五年,也是微信广告零售行业的一个新的开始. 首先我们来看一下目前的零售行业在微信广告的投放情况,当前的零售 ...

  4. php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码

    目的 创建自定义菜单,实现菜单事件. 首先获取Access_Token 接口: 我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token 然后配 ...

  5. 微信广告服务器地址,【微信广告服务商平台】微信广告服务商平台运营经验分享!...

    微信广告服务商平台运营经验分享!现在微信有两种广告形式,一种是在微信文章底部放置广告,另一种是在微信朋友圈投放广告.下面小编就给大家分享一些关于微信广告服务商平台运营的经验! 一.朋友圈的文案 好友圈 ...

  6. android微信分享之创建工程以及启动微信

    android微信分享之创建工程 1.微信jar包在微信--->资源中心-->资源下载 中进行下载! 2.项目结构: 3.启动微信: private static final String ...

  7. 微信广告任务平台源码运营版

    介绍: 微信广告任务平台源码运营版|带教程|对接第三方个人免签 微信广告任务平台源码运营版|带教程|对接第三方个人免签,程序采用Thinkphp3.2开发而来! 带第三方个人免签,支持VIP等级充值. ...

  8. 360多数据源混合查询引擎的前世今生

    女主宣言 随着业务的不断增多,为满足不同场景下对计算时延和吞吐的需求,各式各样的数据源大显身手.然而,由于不同数据源的发展历程不同,迭代速度不一,无法向用户提供统一的数据处理范式.且数据源所处介质天然 ...

  9. 微信上线「行程查询」服务;钉钉 CEO 回应被打「一星」;Go 1.14 发布 | 极客头条...

    整理 | 屠敏 快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持. 「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注 ...

  10. Hey,微信广告收到了吗?你哪个阶层的?

    上周传闻甚嚣尘上的朋友圈信息流广告,昨天终于揭晓了,已经陆续有用户在微信朋友圈中刷出了宝马.可口可乐.Vivo的广告,也意味着这三个广告主成为首批朋友圈广告吃螃蟹者. 每个人朋友圈收到的品牌广告都不是 ...

最新文章

  1. 辞去美国终身教职回国的帅教授,拟增列为顶尖985大学博导
  2. 阿里达摩院新研究:实习生一作突破自动驾驶技术难题,首次实现3D物体检测精度与速度兼得...
  3. C++ delete 和 delete []的区别
  4. 解决docker pull 速度慢问题
  5. MySQL集群(一)之主从复制
  6. 项目管理-时间冲突带来的问题
  7. hadoop--hadoop集群常用脚本
  8. 单片机应用中的c语言用词注解,单片机C语言程序注解
  9. Yahoo数据仓库架构简介
  10. 数据库篇之[bsp_advertpositions]数据表-BrnShop1.9升级至2.1升级说明(非官方版本)...
  11. 如何在批处理文件/ cmd中休眠五秒钟[重复]
  12. pycharm 怎么快速生成文件夹结构_Pycharm配置Qt工具(ubuntu18.04)
  13. FastGitHub for Mac(GitHub下载扩展工具)
  14. 服务器 '' 上的 MSDTC 不可用。
  15. 1.6万亿参数的语言模型:谷歌大脑提出Switch Transformer,预训练速度可达T5的7倍
  16. BC20 ONENET平台(二) 上行数据到ONENET
  17. Pytorch创建多任务学习模型
  18. MPCS-314 1A 光电耦合器 用于IGBT/MOSFET隔离栅极驱动 完美代替ELS3150 亿光
  19. 【踩坑日记】python3.9安装paddlepaddle-tiny的时候报错ERROR: Could not find a version
  20. Linu修改系统时间

热门文章

  1. seo和sem的区别是什么?网站seo具体怎么做?
  2. 转载:等比数列的求和公式,及其推导过程
  3. android-sdk-windows 如何安装,android-sdk-windows 安装.doc
  4. 测试图片色域软件,显示器色域检测图
  5. android手机usb设置在哪里,手机usb调试在哪,教您安卓手机怎么打开USB调试
  6. 测试工程师应如何渡过互联网寒冬
  7. excel 双纵坐标 图文介绍excel 2007如何画双纵坐标图
  8. 不同VLAN中的计算机可以ping通吗,不同vlan间互相能ping通配置.ppt
  9. 2.4G超低功耗射频芯片NRF24L01P和SI24R1和CI24R1的区别
  10. js - JSON构造函数