微信公眾號開發-一次性訂閱消息公眾號接入

本文最初發表于我的個人站點

請注意: 本文只詳細介紹微信公眾號如何接入,不介紹app中的接入方式,公眾號的一些設置以及注意事項應該是通用的

一次性訂閱消息接口發布
在2017-07-24日,微信開放了“一次性訂閱消息”接口,在文章中有接入文檔,分別是
App接入文檔
公眾號或網頁接入文檔

有了這個接口之后,開發者與用戶之間能建立更多的互動與聯系。
以前在微信中,用戶必須要關注了對應的公眾號,才能接受到來自這個公眾號的通知,想要給一個沒有關注過對應公眾號的用戶發送一條消息是不可能的事情。
而現在有了這個接口之后“關注”這個動作就不是必要的了。開發者可以主動詢問用戶是否有需要關心的消息或者業務,用戶自主來選擇“確認接收“或者”不想接收“。
這是個十分實用也是十分強大的功能,隨著微信越來越開放的態度,我相信這個生態圈會越來越完善,吸引更多的開發者與用戶進入。
公眾號的接入
由于官方文檔是剛出來,接口上面的接入方式也不是十分地明確,在網上搜索了一圈發現沒有人寫過對應的文章,于是自己試了一下到底如何接入,下面將自己的接入時的經驗和一些需要注意的事項分享給大家。
公眾號接口權限確認
首先公眾號必須是已經認證過的,這一點在微信公眾號官方接口文檔中有提到。


登錄微信公眾號的后臺,如果是已經認證的公眾號,可以看到已經獲得了這個接口權限。


公眾號業務域名設置
這一點也是我嘗試了一會兒才弄明白是怎么回事,必須要設置才能成功地調用接口,下面詳細闡述如何設置。
可以看到接口文檔中,在請求用戶授權接受一條消息的時候,redirect_url是有要求的,必須不能帶任何路徑

在公眾號后臺的公眾號設置中,查看自己的業務域名是否已經設置過

如果沒有設置過,就進去設置一下,注意一下:這里一定要填一個不帶任何路徑的域名,不然無法滿足上面redirect_url參數的要求,不能去寫”xxx.mydomain.com/wechat”這種,必須寫”xxx.mydomain.com”

這里可以看到他要求將文件上傳到你對應域名的服務器上面,就下載下來上傳一下,用瀏覽器訪問圖中提到的路徑,能夠正常訪問到,出來一堆字符串就證明這一步ok了

請求用戶同意授權,獲取一次給用戶推送一條訂閱模板消息的機會
接口中說的很清楚,我們只需要按照文檔構造一個url,讓用戶在微信中打開,就可以獲得一次用戶確認的機會
我們構造的url中,需要注意的參數有:
appid

公眾號appid,公眾號的唯一標識,在公眾號后臺的基本配置中可以查看


template_id

一次性訂閱模板消息id,點擊接口“查看模板id”可以查看


redirect_url

填寫之前的業務域名,不能填其他的,否則調用不會成功

其他的參數就按照文檔填寫即可
若一切順利,構造出來的url會如下:


把這個url發送給自己的微信,點開之后,會出現提示

用戶同意或取消授權

如果用戶同意了之后,你就可以給拿到他的openid,就可以向他發送一次消息了,注意是“一次”,每次想發消息給用戶,都要讓用戶同意授權一次。
通過API推送訂閱模板消息給到授權微信用戶
這里我們使用postman來模擬向用戶發送消息:

如果用戶已經關注了公眾號,就會在公眾號里面收到提醒

如果沒有關注公眾號,就會在服務通知里面收到提醒

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,868評論 18 139
  • title: 微信公眾號開發:獲取openId和用戶信息 tags: 微信公眾號 categories: 筆記 ...
    行徑行閱讀 140,321評論 5 63
  • 點擊查看原文 Web SDK 開發手冊 SDK 概述 網易云信 SDK 為 Web 應用提供一個完善的 IM 系統...
    layjoy閱讀 13,890評論 0 15
  • 開發前首先我們要知道一些概念 各公眾號區別:1、訂閱號:為媒體和個人提供一種信息傳播方式,主要偏于為用戶傳達資訊(...
    CoderZS閱讀 3,222評論 1 19
  • 青島第一天,完成了我該完成的任務。我親愛的堯姐最大,你是那樣幸福,一直到永遠。 昨晚一點半入睡,早上五點起床,辛苦...
    _Joyn閱讀 267評論 0 0