zoukankan      html  css  js  c++  java
  • 微信之拉取图文数据

      最近,由于业务需求需要拉取微信公众号上发布过的文章的阅读人数,阅读次数等数据,其中遇到一些问题,在此总结

      注意点:

    1、接口侧的公众号数据的数据库中仅存储了2014年12月1日之后的数据,将查询不到在此之前的日期,即使有查到,也是不可信的脏数据;
    2、请开发者在调用接口获取数据后,将数据保存在自身数据库中,即加快下次用户的访问速度,也降低了微信侧接口调用的不必要损耗。
    3、额外注意,获取图文群发每日数据接口的结果中,只有中间页阅读人数+原文页阅读人数+分享转发人数+分享转发次数+收藏次数 >=3的结果才会得到统计,过小的阅读量的图文消息无法统计。
    

      

      接口:

    接口名称最大时间跨度接口调用地址(必须使用https)
    获取图文群发每日数据(getarticlesummary) 1 https://api.weixin.qq.com/datacube/getarticlesummary?access_token=ACCESS_TOKEN
    获取图文群发总数据(getarticletotal) 1 https://api.weixin.qq.com/datacube/getarticletotal?access_token=ACCESS_TOKEN
    获取图文统计数据(getuserread) 3 https://api.weixin.qq.com/datacube/getuserread?access_token=ACCESS_TOKEN
    获取图文统计分时数据(getuserreadhour) 1 https://api.weixin.qq.com/datacube/getuserreadhour?access_token=ACCESS_TOKEN
    获取图文分享转发数据(getusershare) 7 https://api.weixin.qq.com/datacube/getusershare?access_token=ACCESS_TOKEN
    获取图文分享转发分时数据(getusersharehour) 1 https://api.weixin.qq.com/datacube/getusersharehour?access_token=ACCESS_TOKEN

      

        我们使用的是获取图文群发总数据进行数据的拉取.   最大时间跨度是指一次接口调用时最大可获取数据的时间范围,如最大时间跨度为7是指最多一次性获取7天的数据

      确定的点:

    1、前者获取的是某天所有被阅读过的文章(仅包括群发的文章)在当天的阅读次数等数据。
    2、后者获取的是,某天群发的文章,从群发日起到接口调用日(但最多统计发表日后7天数据),每天的到当天的总等数据。例如某篇文章是12月1日发出的,发出后在1日、2日、3日的阅读次数分别为1万,则getarticletotal获取到的数据为,距发出到12月1日24时的总阅读量为1万,距发出到12月2日24时的总阅读量为2万,距发出到12月1日24时的总阅读量为3万。
    

      注意:  它的数据是一种递增的趋势,并不是每天的数据,也不是从后台看到的每日明细中的数据

      事例:

      

    Array
    (
        [list] => Array
            (
                [0] => Array
                    (
                        [ref_date] => 2017-02-07
                        [msgid] => 2649708939_1
                        [title] => 这些西南新美宿将成为你今年再次出发的理由!
                        [user_source] => 0
                        [details] => Array
                            (
                                [0] => Array
                                    (
                                        [stat_date] => 2017-02-07
                                        [target_user] => 44994
                                        [int_page_read_user] => 1769
                                        [int_page_read_count] => 2012
                                        [ori_page_read_user] => 0
                                        [ori_page_read_count] => 0
                                        [share_user] => 117
                                        [share_count] => 142
                                        [add_to_fav_user] => 144
                                        [add_to_fav_count] => 147
                                        [int_page_from_session_read_user] => 1098
                                        [int_page_from_session_read_count] => 1201
                                        [int_page_from_hist_msg_read_user] => 1
                                        [int_page_from_hist_msg_read_count] => 1
                                        [int_page_from_feed_read_user] => 586
                                        [int_page_from_feed_read_count] => 667
                                        [int_page_from_friends_read_user] => 102
                                        [int_page_from_friends_read_count] => 126
                                        [int_page_from_other_read_user] => 5
                                        [int_page_from_other_read_count] => 17
                                        [feed_share_from_session_user] => 17
                                        [feed_share_from_session_cnt] => 17
                                        [feed_share_from_feed_user] => 14
                                        [feed_share_from_feed_cnt] => 14
                                        [feed_share_from_other_user] => 7
                                        [feed_share_from_other_cnt] => 7
                                    )
    
                                [1] => Array
                                    (
                                        [stat_date] => 2017-02-08
                                        [target_user] => 44994
                                        [int_page_read_user] => 3350
                                        [int_page_read_count] => 3904
                                        [ori_page_read_user] => 0
                                        [ori_page_read_count] => 0
                                        [share_user] => 214
                                        [share_count] => 265
                                        [add_to_fav_user] => 243
                                        [add_to_fav_count] => 247
                                        [int_page_from_session_read_user] => 1669
                                        [int_page_from_session_read_count] => 1868
                                        [int_page_from_hist_msg_read_user] => 5
                                        [int_page_from_hist_msg_read_count] => 5
                                        [int_page_from_feed_read_user] => 1422
                                        [int_page_from_feed_read_count] => 1639
                                        [int_page_from_friends_read_user] => 280
                                        [int_page_from_friends_read_count] => 352
                                        [int_page_from_other_read_user] => 21
                                        [int_page_from_other_read_count] => 40
                                        [feed_share_from_session_user] => 23
                                        [feed_share_from_session_cnt] => 23
                                        [feed_share_from_feed_user] => 35
                                        [feed_share_from_feed_cnt] => 37
                                        [feed_share_from_other_user] => 10
                                        [feed_share_from_other_cnt] => 10
                                    )
    
                                [2] => Array
                                    (
                                        [stat_date] => 2017-02-09
                                        [target_user] => 44994
                                        [int_page_read_user] => 3680
                                        [int_page_read_count] => 4333
                                        [ori_page_read_user] => 0
                                        [ori_page_read_count] => 0
                                        [share_user] => 235
                                        [share_count] => 292
                                        [add_to_fav_user] => 269
                                        [add_to_fav_count] => 273
                                        [int_page_from_session_read_user] => 1801
                                        [int_page_from_session_read_count] => 2032
                                        [int_page_from_hist_msg_read_user] => 6
                                        [int_page_from_hist_msg_read_count] => 6
                                        [int_page_from_feed_read_user] => 1569
                                        [int_page_from_feed_read_count] => 1821
                                        [int_page_from_friends_read_user] => 326
                                        [int_page_from_friends_read_count] => 418
                                        [int_page_from_other_read_user] => 35
                                        [int_page_from_other_read_count] => 56
                                        [feed_share_from_session_user] => 23
                                        [feed_share_from_session_cnt] => 23
                                        [feed_share_from_feed_user] => 38
                                        [feed_share_from_feed_cnt] => 40
                                        [feed_share_from_other_user] => 11
                                        [feed_share_from_other_cnt] => 11
                                    )
    
                                [3] => Array
                                    (
                                        [stat_date] => 2017-02-10
                                        [target_user] => 44994
                                        [int_page_read_user] => 3824
                                        [int_page_read_count] => 4536
                                        [ori_page_read_user] => 0
                                        [ori_page_read_count] => 0
                                        [share_user] => 250
                                        [share_count] => 311
                                        [add_to_fav_user] => 272
                                        [add_to_fav_count] => 276
                                        [int_page_from_session_read_user] => 1898
                                        [int_page_from_session_read_count] => 2148
                                        [int_page_from_hist_msg_read_user] => 9
                                        [int_page_from_hist_msg_read_count] => 9
                                        [int_page_from_feed_read_user] => 1586
                                        [int_page_from_feed_read_count] => 1844
                                        [int_page_from_friends_read_user] => 350
                                        [int_page_from_friends_read_count] => 466
                                        [int_page_from_other_read_user] => 44
                                        [int_page_from_other_read_count] => 69
                                        [feed_share_from_session_user] => 24
                                        [feed_share_from_session_cnt] => 24
                                        [feed_share_from_feed_user] => 39
                                        [feed_share_from_feed_cnt] => 41
                                        [feed_share_from_other_user] => 12
                                        [feed_share_from_other_cnt] => 12
                                    )
    
                                [4] => Array
                                    (
                                        [stat_date] => 2017-02-11
                                        [target_user] => 44994
                                        [int_page_read_user] => 3874
                                        [int_page_read_count] => 4606
                                        [ori_page_read_user] => 0
                                        [ori_page_read_count] => 0
                                        [share_user] => 254
                                        [share_count] => 315
                                        [add_to_fav_user] => 276
                                        [add_to_fav_count] => 280
                                        [int_page_from_session_read_user] => 1935
                                        [int_page_from_session_read_count] => 2196
                                        [int_page_from_hist_msg_read_user] => 10
                                        [int_page_from_hist_msg_read_count] => 10
                                        [int_page_from_feed_read_user] => 1592
                                        [int_page_from_feed_read_count] => 1856
                                        [int_page_from_friends_read_user] => 356
                                        [int_page_from_friends_read_count] => 473
                                        [int_page_from_other_read_user] => 46
                                        [int_page_from_other_read_count] => 71
                                        [feed_share_from_session_user] => 24
                                        [feed_share_from_session_cnt] => 24
                                        [feed_share_from_feed_user] => 39
                                        [feed_share_from_feed_cnt] => 41
                                        [feed_share_from_other_user] => 12
                                        [feed_share_from_other_cnt] => 12
                                    )
    
                                [5] => Array
                                    (
                                        [stat_date] => 2017-02-12
                                        [target_user] => 44994
                                        [int_page_read_user] => 3928
                                        [int_page_read_count] => 4677
                                        [ori_page_read_user] => 0
                                        [ori_page_read_count] => 0
                                        [share_user] => 257
                                        [share_count] => 318
                                        [add_to_fav_user] => 279
                                        [add_to_fav_count] => 283
                                        [int_page_from_session_read_user] => 1979
                                        [int_page_from_session_read_count] => 2247
                                        [int_page_from_hist_msg_read_user] => 12
                                        [int_page_from_hist_msg_read_count] => 12
                                        [int_page_from_feed_read_user] => 1594
                                        [int_page_from_feed_read_count] => 1859
                                        [int_page_from_friends_read_user] => 359
                                        [int_page_from_friends_read_count] => 483
                                        [int_page_from_other_read_user] => 50
                                        [int_page_from_other_read_count] => 76
                                        [feed_share_from_session_user] => 24
                                        [feed_share_from_session_cnt] => 24
                                        [feed_share_from_feed_user] => 39
                                        [feed_share_from_feed_cnt] => 41
                                        [feed_share_from_other_user] => 12
                                        [feed_share_from_other_cnt] => 12
                                    )
    
                                [6] => Array
                                    (
                                        [stat_date] => 2017-02-13
                                        [target_user] => 44994
                                        [int_page_read_user] => 3981
                                        [int_page_read_count] => 4753
                                        [ori_page_read_user] => 0
                                        [ori_page_read_count] => 0
                                        [share_user] => 260
                                        [share_count] => 322
                                        [add_to_fav_user] => 281
                                        [add_to_fav_count] => 285
                                        [int_page_from_session_read_user] => 2003
                                        [int_page_from_session_read_count] => 2281
                                        [int_page_from_hist_msg_read_user] => 12
                                        [int_page_from_hist_msg_read_count] => 12
                                        [int_page_from_feed_read_user] => 1603
                                        [int_page_from_feed_read_count] => 1872
                                        [int_page_from_friends_read_user] => 362
                                        [int_page_from_friends_read_count] => 487
                                        [int_page_from_other_read_user] => 69
                                        [int_page_from_other_read_count] => 101
                                        [feed_share_from_session_user] => 25
                                        [feed_share_from_session_cnt] => 25
                                        [feed_share_from_feed_user] => 39
                                        [feed_share_from_feed_cnt] => 41
                                        [feed_share_from_other_user] => 12
                                        [feed_share_from_other_cnt] => 12
                                    )
    
                            )
    
                    )
    
            )
    
    )

      详细参数介绍:

        

    参数说明
    ref_date 数据的日期,需在begin_date和end_date之间
    ref_hour 数据的小时,包括从000到2300,分别代表的是[000,100)到[2300,2400),即每日的第1小时和最后1小时
    stat_date 统计的日期,在getarticletotal接口中,ref_date指的是文章群发出日期, 而stat_date是数据统计日期
    msgid 请注意:这里的msgid实际上是由msgid(图文消息id,这也就是群发接口调用后返回的msg_data_id)和index(消息次序索引)组成, 例如12003_3, 其中12003是msgid,即一次群发的消息的id; 3为index,假设该次群发的图文消息共5个文章(因为可能为多图文),3表示5个中的第3个
    title 图文消息的标题
    int_page_read_user 图文页(点击群发图文卡片进入的页面)的阅读人数
    int_page_read_count 图文页的阅读次数
    ori_page_read_user 原文页(点击图文页“阅读原文”进入的页面)的阅读人数,无原文页时此处数据为0
    ori_page_read_count 原文页的阅读次数
    share_scene 分享的场景

    1代表好友转发 2代表朋友圈 3代表腾讯微博 255代表其他

    share_user 分享的人数
    share_count 分享的次数
    add_to_fav_user 收藏的人数
    add_to_fav_count 收藏的次数
    获取图文群发总数据接口中的详细字段解释

    intpagefromsessionreaduser 公众号会话阅读人数
    intpagefromsessionreadcount 公众号会话阅读次数
    intpagefromhistmsgreaduser 历史消息页阅读人数
    intpagefromhistmsgreadcount 历史消息页阅读次数
    intpagefromfeedreaduser 朋友圈阅读人数
    intpagefromfeedreadcount 朋友圈阅读次数
    intpagefromfriendsreaduser 好友转发阅读人数
    intpagefromfriendsreadcount 好友转发阅读次数
    intpagefromotherreaduser 其他场景阅读人数
    intpagefromotherreadcount 其他场景阅读次数

    feedsharefromsessionuser 公众号会话转发朋友圈人数
    feedsharefromsessioncnt  公众号会话转发朋友圈次数
    feedsharefromfeeduser 朋友圈转发朋友圈人数
    feedsharefromfeedcnt 朋友圈转发朋友圈次数
    feedsharefromotheruser 其他场景转发朋友圈人数
    feedsharefromothercnt其他场景转发朋友圈次数

    target_user 送达人数,一般约等于总粉丝数(需排除黑名单或其他异常情况下无法收到消息的粉丝)
    user_source 在获取图文阅读分时数据时才有该字段,代表用户从哪里进入来阅读该图文。0:会话;1.好友;2.朋友圈;3.腾讯微博;4.历史消息页;5.其他

      遇到的问题:

        一 . 拉取指定日期的数据只获取最后一天的details中的数据即可(注意点

        二 . 在大量拉取数据的时候,会出现的问题

            1)access_token频繁失效,大概的规律,拉取从2016-2-1到2018-8-29号的数据,总会出现在2017-7-6号左右就会出现

    {"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [eLHB306491504]"}
    

            调用大概500次左右,有时候会出现调用大约200次的时候会出现这种情况

          解决: 我们在循环调用的时候,每调用200次就进行一次access_token更新

        三 。 微信的服务器并不稳定有时候会返回服务器错误

    {"errcode":-1,"errmsg":"system error hint: [THb2Ua09081556]"}
    

          解决: 加入重试机制,如果返回时微信系统错误,就重新进行调用,最多三次,如果还是发生错误就将错误的日期记录到一个日志文件中,方便统一拉取之后,如果有错误,可以重新拉取

        四 。 为了方式循环调用接口出现的不可预测的问题,可以睡眠一下,usleep(500000) 即可(注意点

  • 相关阅读:
    ListView与ArrayAdapter(二)
    ListView与SimpleAdapter(三)
    对于ListView的一些用法(一)
    如何使用AsyncTask
    you must restart adb and eclipse的相关解决办法
    leetcode 移动零 JAVA
    leetcode 有效的字母异位词 java
    leetcode 单词拆分 II java
    leetcode 分割回文串 java
    leetcode 验证回文串 java
  • 原文地址:https://www.cnblogs.com/xingxia/p/wechat_datacube.html
Copyright © 2011-2022 走看看