相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡(jiǎn)單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說(shuō)明
- thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢(xún)功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫(xiě)文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
詳解使用php調(diào)用微信接口上傳永久素材
功能需求
公司新開(kāi)的公眾號(hào)需要將公司平臺(tái)現(xiàn)在的所有精品文章都導(dǎo)入,手動(dòng)導(dǎo)入會(huì)有很多的工作量,所以采用自動(dòng)化同步文章的方式來(lái)達(dá)到效果
開(kāi)發(fā)說(shuō)明
微信open api提供了新增永久素材的接口,本次功能是基于這個(gè)接口進(jìn)行數(shù)據(jù)同步的
使用到的接口
- 獲取永久素材列表接口:material/batchget_material
- 新增永久素材接口:material/add_news
- 新增媒體文件接口:material/add_material
- 圖文類(lèi)型
- 單圖文(要求有默認(rèn)的封面,需要提前上傳到微信公眾號(hào)后臺(tái))
環(huán)境要求
php版本:5.5以下(因?yàn)橄旅娲a中的上傳媒體文件必須要求在此環(huán)境,否則會(huì)調(diào)用微信接口失?。?/p>
開(kāi)發(fā)流程
1、從公司平臺(tái)獲取所有的文章列表
2、遍歷文章列表,查看文章是否有圖片附件,若有進(jìn)行第三步,否則進(jìn)行第四步
3、檢測(cè)所有的附件,取出第一個(gè)圖片附件,并調(diào)用新增媒體文件接口上傳圖片獲得返回后的media_id
4、調(diào)用素材列表接口獲取默認(rèn)的封面圖片,并從中得到的數(shù)據(jù)中獲取media_id
5、根據(jù)返回獲取到的media_id開(kāi)始調(diào)用上傳圖文接口上傳素材
6、記錄返回信息
接口設(shè)計(jì)
獲取微信素材列表接口
此接口是用于獲取默認(rèn)的圖片media_id同步平臺(tái)數(shù)據(jù)接口
此接口是用戶(hù)同步我們自己的文章數(shù)據(jù)到微信功能實(shí)現(xiàn)
接口常量
private $app_id = 'wx189ae9fa8816b131'; private $app_secret = '36f5f430c591acbae3505fe877733283'; const API_URL_PREFIX = 'https://api.weixin.qq.com/cgi-bin'; const MEDIA_FOREVER_UPLOAD_URL = '/material/add_material?'; const MEDIA_FOREVER_NEWS_UPLOAD_URL = '/material/add_news?'; const MEDIA_FOREVER_NEWS_UPDATE_URL = '/material/update_news?'; const MEDIA_FOREVER_GET_URL = '/material/get_material?'; const MEDIA_FOREVER_DEL_URL = '/material/del_material?'; const MEDIA_FOREVER_COUNT_URL = '/material/get_materialcount?'; const MEDIA_FOREVER_BATCHGET_URL = '/material/batchget_material?';