微信开发者获取用户是否点赞_微信开发者工具 微信用户信息获取失败 - CSDN
  •  研究过微信文章阅读和点赞数的同学都知道,如何获取这两个数字,关键在于获取微信有效的key.这个key的作用时间大概是2小时,而且也有访问频率的限制.访问频率可以用代码控制,大概10秒一次的速度就不会被屏蔽.接下来说...

    微信文章阅读数点赞数查询API接口及实现

        研究过微信文章阅读和点赞数的同学都知道,如何获取这两个数字,关键在于获取微信有效的key.这个key的作用时间大概是2小时,而且也有访问频率的限制.访问频率可以用代码控制,大概10秒一次的速度就不会被屏蔽.接下来说如何完全自动获取有效的key.

     

    可能大部分同学都会去搞手机上的key,一来我不知道怎么搞(Java开发不会Android囧),二来也是打算直接在PC端实现这个抓取过程.于是就从研究微信的网页客户端.其实这个key非常好获取,转发一个公众号的文章到网页客户端,从客户端打开就可以在链接里看到这个key.


    我实现的思路是:

    用chrome浏览器插件模拟点击网页版的客户端里的公众号微信文章,获取到这个链接中的key和uin这两个参数.通过websocket传到本机的Java中(抓取的时候调通过websocket发送消息给chrome,然后返回key和uin).

     

    chrome的插件已经写完了.具体的使用步骤就是,打开你的server端(启动你的websocket server),点击那个微信的图标,插件图标(这一步是连接websocket client 到server).保证文件转发助手里有一条公众号的文章(任意一篇),接下来程序就可以调用了.


    Java拿到的key


    现在整个抓取过程已经写完了,而且也能用(我的抓取量很小,量的同学请再研究别的办法.).整个抓取过程中我认为另一点比较重要的就是获取微信文章的列表(抓搜狗被屏蔽了...).因为我有公众号的账号密码,所以刚开始直接从公众号的素材管理里直接抓,但是那个不准,一是上面的时间编辑时间而不是发布时间,二是,通过从里面抓取的文章的mid和sn这两个参数获取到的点赞数都是0,阅读数都是2.所以我猜发布前和发布后微信是有两套mid和sn的.多亏了大神,一眼云烟分享了微信查询历史的接口(他抓手机端的包拿到的).反正是http,于是乎我拿来直接用.这样就搞定了.

     

    调用微信查询历史数据接口获取发布文章的地址.biz这个参数每个公众号是固定的,可以从链接中取到.只需key和uin就可以获取到某个公众号过去一周的文章.接口地址:http://mp.weixin.qq.com/mp/getmasssendmsg

     

    拿到文章列表取出biz,mid,sn和idx等参数加上key和uin就可以调接口(http://mp.weixin.qq.com/mp/getappmsgext)获取点赞数和阅读数了.需要注意的是UA用手机的UA


    Http调用返回的json,like_num就是点赞数了.



    插件下载地址:http://download.csdn.net/detail/owen292/8956043



    展开全文
  • 如何使用微信开发者工具查看Appid以及SECRET 步骤如下: (1)找到微信开发者工具顶部右上角的测试号单击。 (2)之后来到这个界面。 (3)申请测试号 申请测试号的过程非常简单。只需访问 申请地址 ,并扫码...

    如何使用微信开发者工具查看Appid以及SECRET

    步骤如下:

    (1)找到微信开发者工具顶部右上角的测试号单击。

    (2)之后来到这个界面。

    (3)申请测试号
    申请测试号的过程非常简单。只需访问 申请地址 ,并扫码登录后,即可查看到已为自己分配好的测试帐号信息。

    (3)微信扫描二维码

    在这里插入图片描述
    (4)之后就可以看到小程序测试号的消息了。
    在这里插入图片描述


    楠哥-------一心想为IT行业添砖加瓦,却总是面向cv编程的程序员。
      谢谢阅读,无误点赞,有误还望评论区指正。
    展开全文
  • 1.微信小程序开发者 2.前端工程师 3.想入门学习小程序开发的人员 4.想深入学习微信小程序前后端开发的人员 (2)、你需要准备什么? 1.能积极主动学习 , 踏实、不浮躁 2.前端基础(HTML , CSS , JS 基础) 3.一门后端...

    代码地址如下:
    http://www.demodashi.com/demo/13997.html

    一、前言

    (1)、适合人群

    1.微信小程序开发者
    2.前端工程师
    3.想入门学习小程序开发的人员
    4.想深入学习微信小程序前后端开发的人员

    (2)、你需要准备什么?

    1.能积极主动学习 , 踏实、不浮躁
    2.前端基础(HTML , CSS , JS 基础)
    3.一门后端语言 ,例如(PHP , Java , C , C# 等等…) 本人会以世界上最友好的语言PHP讲述小程序的后端接口的数据提供

    二、前期准备工作

    软件环境:微信开发者工具
    官方下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

    1、基本需求。
    • 实现用户对文章的点赞功能
    • 实时动态展示
    2、案例目录结构

    三、程序实现具体步骤

    1.点赞index.wxml代码
    <view class="container">
      <view class="list" wx:for="{{list}}" wx:key="key" wx:for-item="item" wx:for-index="index">
        <view class="praise {{item.hasChange? 'changed': ''}}" hover-class="hover_praise" bindtap="praiseThis" data-curIndex="{{index}}">{{item.praise}}</view>
        <view class="author">{{item.author}}</view>
        <view class="info">{{item.info}}</view>
      </view>
    </view>
    
    2.点赞index.wxss代码
    .container {
      background: #fff;
      height: 100%;
      font-family: 'Miscrsoft YaHei'
    }
     
    .list {
      background: #2EB3FF;
      position: relative;
      padding: 10px 10px 10px 70px;
      height: 50px;
      margin-bottom: 10px;
    }
     
    .praise {
      width: 50px;
      height: 50px;
      background: #999;
      text-align: center;
      line-height: 50px;
      border-radius: 50%;
      position: absolute;
      left: 10px;
      transition: 0.5s;
      color: #000;
      background: #fff;
    }
     
    .hover_praise, .changed {
      transition: 0.5s;
      background: #ccc;
    }
     
    .author {
      display: block;
      height: 20px;
      color: #fff;
    }
     
    .info {
      height: 30px;
      line-height: 30px;
      font-size: 12px;
      color: #fff;
    }
    
    3.点赞index.js逻辑代码

    a.点赞部分的功能实现

    praiseThis: function (e) {
        var index = e.currentTarget.dataset.curindex;
        if (this.list[index]) {
          var hasChange = this.list[index].hasChange;
          if (hasChange !== undefined) {
            var onum = this.list[index].praise;
            if (hasChange) {
              this.list[index].praise = (onum - 1);
              this.list[index].hasChange = false;
            } else {
              this.list[index].praise = (onum + 1);
              this.list[index].hasChange = true;
            }
            this.setData({
              list: this.list
            })
          }
        }
      }
    

    b.构建数据列表

    list = [{
          'author': '萌兔子QAQ',
          'info': '我发现萌兔子,真的好帅!',
          'praise': 0,
          'hasChange': false
        },
        {
          'author': '萌兔子QAQ',
          'info': '我发现萌兔子,真的好帅!',
          'praise': 133,
          'hasChange': false
        },
        {
          'author': '萌兔子QAQ',
          'info': '我发现萌兔子,真的好帅!',
          'praise': 0,
          'hasChange': false
        },
        {
          'author': '萌兔子QAQ',
          'info': '我发现萌兔子,真的好帅!',
          'praise': 8,
          'hasChange': false
        },
        {
          'author': '萌兔子QAQ',
          'info': '我发现萌兔子,真的好帅!',
          'praise': 33,
          'hasChange': false
        }]
    

    四、案例运行效果图

    五、总结与备注

    暂无基于微信小程序的用户列表点赞功能

    代码地址如下:
    http://www.demodashi.com/demo/13997.html

    注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

    展开全文
  • 微信小程序结合云数据库实现点赞功能微信小程序结合云数据库实现点赞功能提示 微信小程序结合云数据库实现点赞功能的实现: 方法很简便:在js中添加...打开微信开发者工具=>点击“详情”=>点击“本地设置”=&g

    微信小程序基于云数据库实现点赞功能

    微信小程序基于云数据库实现点赞功能

    • 首先你要开通云开发,然后点击数据库创建集合(这里我的集合是‘Books’),然后在集合里面添加数据,注意将集合对应的权限改为“自定义安全规则”
      在这里插入图片描述

    • 将安全规则自定义为“所有用户可读写”
      在这里插入图片描述

    • 思路如下:

    1. 利用云函数获取用户的openid
    2. 从数据库获取需要的like,like_num,like_people(放对应书籍id的点赞用户的openid)等数据,放入新建newList的数组中
    3. 在newList的like_people这个二维数组中遍历当前用户openid是否出现过,出现过则把该用户点赞过的书籍id放入新建iszan数组中
    4. 寻找iszan数组和newList数组中相同的id(我用的方法时间复杂度都是O(n²),有更好方法欢迎指导),有相同的则“点亮红心”
    5. 点赞事件:只需一个判断条件——①iszan数组中是否包含该书籍id或者②该书籍的like_people数组是否包含该用户openid,如果是的话就“取消点赞”,否则“点赞”
    6. 和后台交互,后台数据要同步,使用update

    代码:

    wxml

     <block wx:for='{{newsList}}' wx:key="index">
      <view class='item-zan' bindtap='thumbsup' data-id='{{item._id}}'>
        <image src='/images/like.png' style="width:60rpx;height:60rpx" wx:if="{{!item.like}}"></image><!--未点赞-->
        <image src='/images/like_active.png' style="width:60rpx;height:60rpx" wx:else></image><!--点赞-->
        <view style="margin-left:20rpx">{{item.like_num}}</view>
      </view>
    </block>
    

    通过thumbsup事件完成点赞,把其中的like由false改为true(取消点赞则是相反)来显示

    js

    const db = wx.cloud.database()
    const _ = db.command
    const booksCollection = db.collection('Books')
    Page({
    
      data: {
        newsList: [], //列表数据
        iszan: [], //点过赞的id集合
        like_people: [], //每个列表数据的点赞的用户集合
        openid: ''
      },
    
      //页面加载初始化列表数据
      onLoad: function () {
        let that = this;
        wx.cloud.callFunction({
          name: 'getOpenid',
          complete: res => { // 获取用户openid
            console.log('云函数获取到的openid: ', res.result.openid)
            that.setData({
              openid: res.result.openid
            })
            booksCollection.field({ //发送请求获取列表数据
              _id: true,
              like: true,
              like_num: true,
              like_people: true
            }).get({
              success: res => {
                that.setData({
                  newsList: res.data
                })
                var iszan = that.data.iszan;
                for (var i = 0; i < res.data.length; i++) { //数据获取成功后,进行遍历,拿到所有已经点过赞的书籍id
                  for (let j = 0; j < res.data[i].like_people.length; j++) {
                    if (res.data[i].like_people[j] == that.data.openid) { 
                      iszan.push(res.data[i]._id) //根据改用户的数据找到已经点赞的,把书籍id放入新建数组中
                    }
                  }
                }
                for (let i = 0; i < res.data.length; i++) {
                  res.data[i].like = false
                  for (let j = 0; j < iszan.length; j++) { //利用新建的iszan数组与list数组的id查找相同的书籍id
                    if (res.data[i]._id == iszan[j]) { //双重循环遍历,有相同的id则点亮红心
                      res.data[i].like = true
                    }
                  }
                }
                console.log(res.data)
                that.setData({
                  iszan: this.data.iszan,
                  newsList: res.data
                })
                wx.setStorageSync('zan', iszan);
              }
            })
          }
        })
      },
    
      // 点赞函数  获取对应id
      thumbsup: function (e) {
        var shareid = e.currentTarget.dataset.id;
        this.zan(shareid);
      },
    
      //点赞处理函数    
      zan: function (item_id) {
        var that = this;
        var cookie_id = wx.getStorageSync('zan') || []; //获取全部点赞的id
        var openid = that.data.openid
        console.log(openid)
        for (var i = 0; i < that.data.newsList.length; i++) {
          if (that.data.newsList[i]._id == item_id) { //数据列表中找到对应的id
            var num = that.data.newsList[i].like_num; //当前点赞数
            if (cookie_id.includes(item_id) ) { //已经点过赞了,取消点赞
              for (var j in cookie_id) {
                if (cookie_id[j] == item_id) {
                  cookie_id.splice(j, 1); //删除取消点赞的id
                }
              }
              --num; //点赞数减1
              that.setData({
                [`newsList[${i}].like_num`]: num, //es6模板语法,常规写法报错
                [`newsList[${i}.].like`]: false //我的数据中like为'false'是未点赞
              })
              wx.setStorageSync('zan', cookie_id);
              wx.showToast({
                title: "取消点赞",
                icon: 'none'
              })
              this.data.newsList[i].like_people.pop(openid)
            } else { //点赞操作
              ++num; //点赞数加1
              that.setData({
                [`newsList[${i}].like_num`]: num,
                [`newsList[${i}.].like`]: true
              })
              cookie_id.unshift(item_id); //新增赞的id
              wx.setStorageSync('zan', cookie_id);
              wx.showToast({
                title: "点赞成功",
                icon: 'none'
              })
              this.data.newsList[i].like_people.push(openid)
            }
            //和后台交互,后台数据要同步
            booksCollection.doc(item_id).update({
              data: {
                like: this.data.newsList[i].like,
                like_num: num,
                like_people: this.data.newsList[i].like_people
              },
              success: res => {
                console.log(res)
              }
            })
          }
        }
      }
    })
    

    提示

    • 使用云函数获取用户id借鉴于
      添加链接描述
    • 如果项目是使用服务器的话就需要把wx.cloud.callFunction()接口换成wx.request()即可。如是使用自搭服务器请参考↓,本文点赞功能主体也是借鉴于此
      添加链接描述
      个人开发的小程序示例:
    展开全文
  • 我需要用户接收微信分享的链接后,点击进入给参加活动的用户点赞】,然后需要后台获取微信用户的 openid 作为唯一的标记信息,以便保证该用户下次进入后进行数据库的比对,直接提取其对应的操作信息...
  • 关于助力砍价及微信公众号评论刷点赞及精选文章留言评论区点赞刷赞方法,越来越多的人在平常生活中使用微信,以微信为载体的许多功能就被开发和使用了起来,比如——微信投票。于是乎,微信上兴起了各种投票,从...
  • 本章通过编写几乎所有内容型应用都会附带的“评论”“点赞”“阅读计数”“收藏”等功能,来学习使用小程序的交互反馈组件、缓存的应用、图片选择和预览、屏蔽关键字、录音、拍照以及播放录音等功能7.1 收藏、评论...
  • 今天微信开发者工具不显示二维码,很尬,找了好了方法,最满意的一个如下,如果解决了,记得给我点赞 电脑上无法登录微信的解决方法: 1、先退出电脑微信登录页面 2、按Win+E快捷键,打开资源管理器 3、在...
  • 1.微信小程序开发者工具 下载:小程序开发者工具 使用: 小程序原生开发:直接使用小程序开发者工具打开项目即可 小程序框架开发:首选官方提供类vue.js开发框架 wepy.js ,备选 mpVue。我们选择的是 wepy PS:...
  • 最近利用了「新榜」和「壹伴」生成了自己的公众号年报。对自己公众号一年来的数据算是有所了解。比如总阅读数、总点赞数。这里小F发现「新榜」和「壹伴」的数据居然不一样。于是乎也想着自己去获取公...
  • 微信小程序 获取用户的openid

    千次阅读 2018-01-16 10:28:29
    微信开发项目中,获取openid是项目常遇的问题,本文通过主要讲解实现在微信小程序中如何获取用户的openid,案例实现非常简单  具体实现方法是通过登录接口获取登录凭证,然后通过request请求微信的公共API,将...
  • 1.在已是认证账号的前提下,打开自定义菜单界面,选择跳转网页之后在页面地址中输入如下规则的...appid=APPID&amp;redirect_uri=REDIRECT_URI&amp;response_type =code&amp;scope=SCOPE&...state=STAT...
  • 微信商户发红包和获取用户信息

    千次阅读 2016-09-08 09:33:44
    前几天用java实现了微信商户发红包给用户的功能。现在整理一下,方便以后参考。总体的步骤是: - 1.在微信客户端转发自己的uri路径 - 2.拿到微信授权的Code - 3.获取用户openID - 4.获取用户信息 - 5.给指定...
  • 1.引入JS文件 2.通过config接口注入权限验证配置 3.通过ready接口处理成功验证 4.通过error接口处理失败验证 JSDK档说明:...(1) <script type="text/javascript" src="http://res.w
  • 原文:微信小程序性能优化方案——让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有。 微信小程序如果想要优化性能,有关键性的两点: 提高加载性能 提高渲染性能 接下来分别...
  • 前言 最近在开发小程序,产品经理提了一个需求,要求微信小程序换头像,用户剪裁图片必须是圆形,也在github上看了一些例子,一般剪裁图片用的都是方形,所以自己打算写一个小组件,可以把图片剪裁成圆形,主...
  • 一:登录微信公众平台进行设置JS接口安全域名 二:获取access_token凭证 access_token的接口地址 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APP...
  • 微信小程序是一种全新的连接用户与服务的方式,可以帮助开发者快速的开发小程序, 是一种不需要下载安装即可使用的应用小程序,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验! 首先要开发微信小程序呢...
  • 前言: 小程序是指微信公众平台小程序,小程序可以帮助开发者快速的开发小程序,小程序可以在微信内被便捷地获取和传播;是一种不需要下载安装即可使用的应用小程序,和原有的三种公众号是并行的体系。2017年1月9日...
  • 微信小程序最近更新了....首先:更新到最新的微信开发者工具 点击左上角云开发 腾讯会为个人配置基础套餐,个人用足够了.可以创建多个环境 其次:在创建小程序的时候要选择云开发.云开发与普通的小程序开发...
1 2 3 4 5 ... 20
收藏数 2,446
精华内容 978
关键字:

微信开发者获取用户是否点赞