没有不值得去解决的问题,也没有不值得去学习的技术!

How to Get WeChat Official Account Article View Counts (Request Parameters Do Not Support Article IDs)

Review the WeChat Official Documentation - Official Account - Data Statistics - Article Analysis - Return Parameter Description. Please note: the msgid here is actually composed of msgid (the article message ID, which is the msg_data_id returned after calling the mass send API) and index (the message sequence index). For example, in 12003_3, 12003 is the msgid, which is the ID of a mass-sent message; 3 is the index. Assuming that the mass-sent article message contains a total of 5 articles (because it might be a multi-article message), 3 represents the 3rd one out of the 5.

1. The new requirement is: we need to implement the display of article view counts for the WeChat channel. See Figure 1.

The new requirement is: we need to implement the display of article view counts for the WeChat channel.
Figure 1

2. Ideally, we should be able to get the view count of an article based on its article ID, just like Douyin. See Douyin Open Platform Documentation – Resource Center – Open Api – Video Management – Douyin – Query Video – Query Video Data for a Specific Video. The request parameters support the article ID. See Figure 2.

Ideally, we should be able to get the view count of an article based on its article ID, just like Douyin. See Douyin Open Platform Documentation - Resource Center - Open Api - Video Management - Douyin - Query Video - Query Video Data for a Specific Video. The request parameters support the article ID.
Figure 2

3. Review the WeChat Official Documentation – Official Account – Data Statistics – Article Analysis – API Call Request Description. It does not support the article ID; it only supports a date range for the data. begin_date: the start date for retrieving data; the difference between begin_date and end_date must be less than the “maximum time span” (for example, if the maximum time span is 1, the difference between begin_date and end_date can only be 0 to be less than 1), otherwise an error will occur. end_date: the end date for retrieving data; the maximum allowed value for end_date is yesterday. See Figure 3.

Review the WeChat Official Documentation - Official Account - Data Statistics - Article Analysis - API Call Request Description. It does not support the article ID; it only supports a date range for the data. begin_date: the start date for retrieving data; the difference between begin_date and end_date must be less than the "maximum time span" (for example, if the maximum time span is 1, the difference between begin_date and end_date can only be 0 to be less than 1), otherwise an error will occur. end_date: the end date for retrieving data; the maximum allowed value for end_date is yesterday.
Figure 3

4. Review the WeChat Official Documentation – Official Account – Data Statistics – Article Analysis – Return Parameter Description. Please note: the msgid here is actually composed of msgid (the article message ID, which is the msg_data_id returned after calling the mass send API) and index (the message sequence index). For example, in 12003_3, 12003 is the msgid, which is the ID of a mass-sent message; 3 is the index. Assuming that the mass-sent article message contains a total of 5 articles (because it might be a multi-article message), 3 represents the 3rd one out of the 5. See Figure 4.

Review the WeChat Official Documentation - Official Account - Data Statistics - Article Analysis - Return Parameter Description. Please note: the msgid here is actually composed of msgid (the article message ID, which is the msg_data_id returned after calling the mass send API) and index (the message sequence index). For example, in 12003_3, 12003 is the msgid, which is the ID of a mass-sent message; 3 is the index. Assuming that the mass-sent article message contains a total of 5 articles (because it might be a multi-article message), 3 represents the 3rd one out of the 5.
Figure 4

5. After the WeChat article is successfully mass-sent, store the message sending task ID and the message data ID into a table. Their field type is bigint. This is because the maximum value of an int is 2147483647, which is less than the value of msg_data_id: 2247483783. See Figure 5.

After the WeChat article is successfully mass-sent, store the message sending task ID and the message data ID into a table. Their field type is bigint. This is because the maximum value of an int is 2147483647, which is less than the value of msg_data_id: 2247483783.
Figure 5

6. POST https://api.weixin.qq.com/datacube/getarticletotal?access_token={access_token} , the response is as follows. See Figure 6.

POST https://api.weixin.qq.com/datacube/getarticletotal?access_token={access_token} , the response is as follows
Figure 6
JSON

{
    "begin_date": "2020-11-13",
    "end_date": "2020-11-13"
}

JSON

{
    "list": [
        {
            "ref_date": "2020-11-13",
            "msgid": "2247483782_1",
            "title": "33333r",
            "user_source": 0,
            "details": [
                {
                    "stat_date": "2020-11-13",
                    "target_user": 356,
                    "int_page_read_user": 51,
                    "int_page_read_count": 68,
                    "ori_page_read_user": 4,
                    "ori_page_read_count": 6,
                    "share_user": 1,
                    "share_count": 1,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 51,
                    "int_page_from_session_read_count": 68,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-14",
                    "target_user": 356,
                    "int_page_read_user": 64,
                    "int_page_read_count": 82,
                    "ori_page_read_user": 5,
                    "ori_page_read_count": 7,
                    "share_user": 1,
                    "share_count": 1,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 64,
                    "int_page_from_session_read_count": 82,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-15",
                    "target_user": 356,
                    "int_page_read_user": 64,
                    "int_page_read_count": 84,
                    "ori_page_read_user": 6,
                    "ori_page_read_count": 8,
                    "share_user": 1,
                    "share_count": 1,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 64,
                    "int_page_from_session_read_count": 84,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-16",
                    "target_user": 356,
                    "int_page_read_user": 64,
                    "int_page_read_count": 84,
                    "ori_page_read_user": 6,
                    "ori_page_read_count": 8,
                    "share_user": 1,
                    "share_count": 1,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 64,
                    "int_page_from_session_read_count": 84,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-17",
                    "target_user": 356,
                    "int_page_read_user": 65,
                    "int_page_read_count": 86,
                    "ori_page_read_user": 6,
                    "ori_page_read_count": 8,
                    "share_user": 1,
                    "share_count": 1,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 65,
                    "int_page_from_session_read_count": 86,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                }
            ],
            "url": "https://mp.weixin.qq.com/s?__biz=MzIxNjcyMzkzOQ==&mid=2247483782&idx=1&sn=06aa625b6f4b908a91776bf2e9a8c00e#rd"
        },
        {
            "ref_date": "2020-11-13",
            "msgid": "2247483782_2",
            "title": "22222",
            "user_source": 0,
            "details": [
                {
                    "stat_date": "2020-11-13",
                    "target_user": 356,
                    "int_page_read_user": 21,
                    "int_page_read_count": 25,
                    "ori_page_read_user": 0,
                    "ori_page_read_count": 0,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 21,
                    "int_page_from_session_read_count": 25,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-14",
                    "target_user": 356,
                    "int_page_read_user": 30,
                    "int_page_read_count": 37,
                    "ori_page_read_user": 0,
                    "ori_page_read_count": 0,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 30,
                    "int_page_from_session_read_count": 37,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-15",
                    "target_user": 356,
                    "int_page_read_user": 31,
                    "int_page_read_count": 39,
                    "ori_page_read_user": 0,
                    "ori_page_read_count": 0,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 31,
                    "int_page_from_session_read_count": 39,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-16",
                    "target_user": 356,
                    "int_page_read_user": 31,
                    "int_page_read_count": 39,
                    "ori_page_read_user": 0,
                    "ori_page_read_count": 0,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 31,
                    "int_page_from_session_read_count": 39,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-17",
                    "target_user": 356,
                    "int_page_read_user": 32,
                    "int_page_read_count": 40,
                    "ori_page_read_user": 0,
                    "ori_page_read_count": 0,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 32,
                    "int_page_from_session_read_count": 40,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 0,
                    "int_page_from_other_read_count": 0,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                }
            ],
            "url": "https://mp.weixin.qq.com/s?__biz=MzIxNjcyMzkzOQ==&mid=2247483782&idx=2&sn=ad6130affc4ebffff8d7a95d89f8b6c7#rd"
        },
        {
            "ref_date": "2020-11-13",
            "msgid": "2247483783_1",
            "title": "快乐周末三号",
            "user_source": 0,
            "details": [
                {
                    "stat_date": "2020-11-13",
                    "target_user": 356,
                    "int_page_read_user": 98,
                    "int_page_read_count": 121,
                    "ori_page_read_user": 9,
                    "ori_page_read_count": 11,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 97,
                    "int_page_from_session_read_count": 120,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 1,
                    "int_page_from_other_read_count": 1,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-14",
                    "target_user": 356,
                    "int_page_read_user": 118,
                    "int_page_read_count": 147,
                    "ori_page_read_user": 10,
                    "ori_page_read_count": 12,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 117,
                    "int_page_from_session_read_count": 146,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 1,
                    "int_page_from_other_read_count": 1,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-15",
                    "target_user": 356,
                    "int_page_read_user": 119,
                    "int_page_read_count": 150,
                    "ori_page_read_user": 10,
                    "ori_page_read_count": 12,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 118,
                    "int_page_from_session_read_count": 149,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 1,
                    "int_page_from_other_read_count": 1,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-16",
                    "target_user": 356,
                    "int_page_read_user": 119,
                    "int_page_read_count": 150,
                    "ori_page_read_user": 10,
                    "ori_page_read_count": 12,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 118,
                    "int_page_from_session_read_count": 149,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 1,
                    "int_page_from_other_read_count": 1,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                },
                {
                    "stat_date": "2020-11-17",
                    "target_user": 356,
                    "int_page_read_user": 120,
                    "int_page_read_count": 151,
                    "ori_page_read_user": 10,
                    "ori_page_read_count": 12,
                    "share_user": 0,
                    "share_count": 0,
                    "add_to_fav_user": 0,
                    "add_to_fav_count": 0,
                    "int_page_from_session_read_user": 119,
                    "int_page_from_session_read_count": 150,
                    "int_page_from_hist_msg_read_user": 0,
                    "int_page_from_hist_msg_read_count": 0,
                    "int_page_from_feed_read_user": 0,
                    "int_page_from_feed_read_count": 0,
                    "int_page_from_friends_read_user": 0,
                    "int_page_from_friends_read_count": 0,
                    "int_page_from_other_read_user": 1,
                    "int_page_from_other_read_count": 1,
                    "feed_share_from_session_user": 0,
                    "feed_share_from_session_cnt": 0,
                    "feed_share_from_feed_user": 0,
                    "feed_share_from_feed_cnt": 0,
                    "feed_share_from_other_user": 0,
                    "feed_share_from_other_cnt": 0
                }
            ],
            "url": "https://mp.weixin.qq.com/s?__biz=MzIxNjcyMzkzOQ==&mid=2247483783&idx=1&sn=4946a8fb35caa4c29aa2232eb51f8bb1#rd"
        }
    ]
}

7. Retrieve the statistical data for the first article of the WeChat Official Account application task. Ultimately, this allows us to closely simulate an effect similar to Douyin’s (although we cannot get the latest view count, we can only get the view count up to 7 days after publication). The maximum time span refers to the maximum time range of data that can be retrieved in a single API call; for example, a maximum time span of 7 means up to 7 days of data can be retrieved at once. We retrieve the view count based on the article ID. The potential issue is that the date range might not be accurate enough, because its value is based on the record’s creation time, whereas it should be based on the time it was published to the WeChat platform. This will be optimized later. The code is as follows:

PHP
<?php
 
namespace console\services;
 
use Yii;
use yii\helpers\ArrayHelper;
use yii\web\ServerErrorHttpException;
 
class WxAppTaskService extends \common\services\WxAppTaskService
{
    /**
     * 获取 微信公众帐号的应用的任务 的第一篇文章的统计数据
     * @param object $wxAppTask 微信公众帐号的应用的任务
     * @param string $accessToken 访问令牌
     *
     * @return array
     * 格式如下:
     *
     * [ // 最后一个统计日期
     *     'stat_date': '2020-05-29', // 统计的日期,在 getarticletotal 接口中,ref_date 指的是文章群发出日期, 而 stat_date 是数据统计日期
     *     'target_user': 387, // 送达人数,一般约等于总粉丝数(需排除黑名单或其他异常情况下无法收到消息的粉丝)
     *     'int_page_read_user': 86, // 图文页(点击群发图文卡片进入的页面)的阅读人数
     *     'int_page_read_count': 111, // 图文页的阅读次数
     *     'ori_page_read_user': 11, // 原文页(点击图文页“阅读原文”进入的页面)的阅读人数,无原文页时此处数据为0
     *     'ori_page_read_count': 12, // 原文页的阅读次数
     *     'share_user': 1, // 分享的人数
     *     'share_count': 1, // 分享的次数
     *     'add_to_fav_user': 0, // 收藏的人数
     *     'add_to_fav_count': 0, // 收藏的次数
     *     'int_page_from_session_read_user': 85, // 公众号会话阅读人数
     *     'int_page_from_session_read_count': 109, // 公众号会话阅读次数
     *     'int_page_from_hist_msg_read_user': 0, // 历史消息页阅读人数
     *     'int_page_from_hist_msg_read_count': 0, // 历史消息页阅读次数
     *     'int_page_from_feed_read_user': 0, // 朋友圈阅读人数
     *     'int_page_from_feed_read_count': 0, // 朋友圈阅读次数
     *     'int_page_from_friends_read_user': 0, // 好友转发阅读人数
     *     'int_page_from_friends_read_count': 0, // 好友转发阅读次数
     *     'int_page_from_other_read_user': 1, // 其他场景阅读人数
     *     'int_page_from_other_read_count': 1, // 其他场景阅读次数
     *     'feed_share_from_session_user': 0, // 公众号会话转发朋友圈人数
     *     'feed_share_from_session_cnt': 0, // 公众号会话转发朋友圈次数
     *     'feed_share_from_feed_user': 0, // 朋友圈转发朋友圈人数
     *     'feed_share_from_feed_cnt': 0, // 朋友圈转发朋友圈次数
     *     'feed_share_from_other_user': 0, // 其他场景转发朋友圈人数
     *     'feed_share_from_other_cnt': 0,  // 其他场景转发朋友圈次数
     * ]
     *
     * @throws ServerErrorHttpException
     */
    public static function getCounts($wxAppTask, $accessToken)
    {
        $date = Date('Y-m-d', $wxAppTask->created_at);
        // HTTP请求,获取图文群发总数据
        $httpGetArticleTotalData = [
            'accessToken' => $accessToken,
            'beginDate' => $date,
            'endDate' => $date,
        ];
        $articleTotal = WxDatacubeService::httpGetArticleTotal($httpGetArticleTotalData);
 
        // 重建数组索引,键名:msgid
        $list = ArrayHelper::index($articleTotal['list'], 'msgid');
        $msgid = $wxAppTask->msg_data_id . '_1';
        $counts = [];
        if (isset($list[$msgid])) {
            // 获取一个数组的最后一个键值
            $lastKey = array_key_last($list[$msgid]['details']);
            $counts = $list[$msgid]['details'][$lastKey];
        }
 
        return $counts;
    }
}

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系