早安微信公眾號消息推送最新版(國外城市、國內每日新聞)

来源:https://www.cnblogs.com/nianshu/archive/2022/11/19/16905127.html
-Advertisement-
Play Games

給女友的微信公眾號消息推送 跟上次的大致相同、新增了每日新聞、國外天氣,修改了一部分代碼 一、註冊易客雲 地址:http://www.yiketianqi.com/user/register 複製下麵的代碼到百度雲函數代碼編輯頁 <?php $appId = '2323232'; //對應自己的ap ...


給女友的微信公眾號消息推送

跟上次的大致相同、新增了每日新聞、國外天氣,修改了一部分代碼

一、註冊易客雲
地址:http://www.yiketianqi.com/user/register

在這裡插入圖片描述

複製下麵的代碼到百度雲函數代碼編輯頁
加粗樣式

<?php
$appId = '2323232'; //對應自己的appId
$appSecret = '343444453'; //對應自己的appSecret
$wxgzhurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $appId . "&secret=" . $appSecret;
$access_token_Arr = https_request($wxgzhurl);
$access_token = json_decode($access_token_Arr, true);
$ACCESS_TOKEN = $access_token['access_token']; //ACCESS_TOKEN

// 什麼時候戀愛的(格式別錯)
$lovestart = strtotime('2012-12-22');
$end = time();
$love = ceil(($end - $lovestart) / 86400);

// 下一個生日是哪一天(格式別錯)
$birthdaystart = strtotime('2023-12-02');
$end = time();
$diff_days = ($birthdaystart - $end);
$birthday = (int)($diff_days/86400);
$birthday = str_replace("-", "", $birthday);

$tianqiurl = 'https://yiketianqi.com/api?version=v5&appid=12345678&appsecret=12345678&city=堪培拉'; //修改為自己的測試
$tianqiapi = https_request($tianqiurl);
$tianqi = json_decode($tianqiapi, true);
$qinghuaqiurl = 'https://api.youguo56.com/api/chp/'; 
$qinghuaapi = https_request($qinghuaqiurl);
#$qinghua = json_decode($qinghuaapi, true);

$yjh = ''; 
$touser = 'vfvfvfv';  //這個填你女朋友的openid
$data = array(
    'touser' => $touser,
    'template_id' => "regrgagff", //改成自己的模板id,在微信後臺模板消息里查看
    'url'=>"https://api.youguo56.com/api/60s/",
    'data' => array(
        'first' => array(
            'value' => $yjh,
            'color' => "#00BFFF"
        ),
        'keyword1' => array(
            'value' => $tianqi['update_time'],//時間
            'color' => "#1E90FF"
        ),
        'keyword2' => array(
            'value' => $tianqi['country'],//國家
            'color' => "#7B68EE"
        ),
        'keyword3' => array(
            'value' => $tianqi['city'],//城市
            'color' => "#7B68EE"
        ),
        'keyword4' => array(
            'value' => $tianqi['data']['0']['wea'],//天氣
            'color' => "#FFA07A"
        ),
        'keyword5' => array(
            'value' => $tianqi['data']['0']['tem1'],//高溫
            'color' => "#98FB98"
        ),
        'keyword6' => array(
            'value' => $tianqi['data']['0']['tem2'],//低溫
            'color' => "#98FB98"
        ),
        'keyword8' => array(
            'value' => $love . '天',
            'color' => "#FA8072"
        ),
        'keyword9' => array(
            'value' => $birthday . '天',
            'color' => "#F5DEB3"
        ),       
        'remark' => array(
           'value' => $qinghuaapi,
            'color' => "#6495ED"
        ),
    )
);

$json_data = json_encode($data);
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $ACCESS_TOKEN;
$res = https_request($url, urldecode($json_data));
$res = json_decode($res, true);

if ($res['errcode'] == 0 && $res['errcode'] == "ok") {
    echo "發送成功!<br/>";
}else {
        echo "發送失敗!請檢查代碼!!!<br/>";
}
function https_request($url, $data = null)
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    if (!empty($data)) {
        curl_setopt($curl, CURLOPT_POST, 1);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($curl);
    curl_close($curl);
    return $output;
}
function handler($context) {

# 啥都沒有   就是為了填執行失敗的坑
    # return $ret;
}

複製自己的appid和 appsecret 換成自己的appid、appsecret、城市
在這裡插入圖片描述

新模板內容

現在是{{keyword1.DATA}} 
國家:{{keyword2.DATA}} 
城市:{{keyword3.DATA}} 
天氣:{{keyword4.DATA}} 
最高溫度:{{keyword5.DATA}} ℃
最低溫度:{{keyword6.DATA}} ℃
今天是我們在一起的第{{keyword8.DATA}} 
距離寶貝的生日還有{{keyword9.DATA}} 
每日一句: {{remark.DATA}}

在這裡新增了每日新聞,如果不想要可以刪掉這代碼。
在這裡插入圖片描述
在這裡插入圖片描述

測試成功

在這裡插入圖片描述

期待下次的分享,別忘了三連支持博主呀~
我是 念舒_C.ying ,期待你的關註~

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.面向對象&面向過程 面向過程思想 步驟清晰簡單,第一步做什麼,第二步做什麼.... 面向過程適合處理一些簡單的問題。 面向對象思想 物以類聚,在思考問題解決方案時會先將問題進行分類,然後對這些分類的問題進行深入思考。最後才是對問題的實現細節進行面向過程的思考。 面向對象適合對大型項目的構建,對復 ...
  • 在SLAM十四講的代碼編譯過程中direct_method.cpp和optical_flow.cpp有CV_GRAY2BGR語句的報錯 這是因為CV_GRAY2BGR是opencv2的用法,而slambook2的的cmakelist.txt中opencv的庫用的是opencv4, 因此要將CV_GR ...
  • 🏵️前言 👉以下我要講解的是Python中最後剩餘的重要內置函數,其中比較重要的會詳細講解,比較簡單的會直接結合代碼進行剖析 ​編輯 🍁一、reversed內置函數 描述 reversed 函數返回一個反轉的迭代器。 語法 reversed(seq) 參數 seq -- 要轉換的序列,可以是 ...
  • 一、棧和局部變數操作 將常量壓入棧的指令 aconst_null 將null對象引用壓入棧 iconst_m1 將int類型常量-1壓入棧 iconst_0 將int類型常量0壓入棧 iconst_1 將int類型常量1壓入棧 iconst_2 將int類型常量2壓入棧 iconst_3 將int類 ...
  • 💓前言 ✅承接上篇博客,以下我要講解的是Python中剩餘的重要內置函數,其中比較重要的會詳細講解,比較簡單的會直接結合代碼進行剖析 🍀一、exec和eval內置函數 ☘️1、exec內置函數 python內置函數exec支持動態執行python代碼,傳入exec函數的object實參可以是字元 ...
  • 1.while迴圈 """ while 條件: 執行語句1··· 執行語句2·· """ # while 1+1 == 2: # print('666') # 計數器 叫法 代表一個功能 # i = 0 # 定義一個臨時變數 記錄迴圈次數 # while 1 + 1 == 2: # i += 1 # ...
  • Redis 常見問題 落葉他鄉樹,寒燈獨夜人。 一、 什麼是Redis? Redis 是一個使用 C 語言寫成的,開源的高性能key-value非關係緩存資料庫; Redis的數據都基於緩存的,所以很快,每秒可以處理超過 10萬次讀寫操作; Redis也可以實現數據寫入磁碟中,保證了數據的安全不丟失 ...
  • 目錄 一.OpenGL 和 OpenGL ES 1.OpenGL 2.OpenGL ES 二.EGL 和 WGL 三.OpenGL ES EGL API 簡介 四.OpenGL ES 案例 五.依賴動態庫 六.猜你喜歡 零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...