[TOC]
####接口權限
 訂閱號, 認證訂閱號, 服務號, 認證服務號
####素材
在回復或是發送給粉絲消息內容時,對多媒體文件、多媒體消息的獲取和調用等操作,是通過media_id來進行的,這個media_id就是一個素材的id。素材又分為臨時素材和永久素材。
##### 臨時素材
對于臨時素材,每個素材(media_id)會在開發者上傳或粉絲發送到微信服務器3天后自動刪除(所以用戶發送給開發者的素材,若開發者需要,應盡快下載到本地),以節省服務器資源。臨時素材大小限制如下:
1. 圖片(image): 2M,支持PNG\JPEG\JPG\GIF格式
2. 語音(voice):2M,播放長度不超過60s,支持AMR\MP3格式
3. 視頻(video):10MB,支持MP4格式
4. 縮略圖(thumb):64KB,支持JPG格式
##### 永久素材
永久素材會一直存在,除非用戶刪除,永久素材的存儲上限為圖片最多5000個,其他類型為1000個。永久素材可以在公眾平臺官網素材管理模塊中看到永久素材。
1. 圖片(image): 2M,支持PNG\JPEG\JPG\GIF格式
2. 語音(voice):5M,播放長度不超過60s,支持AMR\MP3\WMA\WAV格式
3. 視頻(video):10MB,支持MP4格式
4. 縮略圖(thumb):64KB,支持JPG格式
#### 上傳素材
#####臨時素材
>[info]uploadMedia($path, $type)
* $path 待上傳文件物理路徑(絕對路徑)
* $type 上傳素材的類型,分別有圖片(image)、語音(voice)、視頻(video)和縮略圖(thumb,用于視頻與音樂格式的縮略圖)
*返回值*
success
* type 媒體文件類型
* media_id 素材id,媒體文件上傳后,獲取時的唯一標識
* created_at 媒體文件上傳時間戳
```
array (
'type' => 'image'
'media_id' => 'PlwECnLT9a6btGwBjGzZ5zJC5Lf_BN1o0MIp9yWp6dxak3mrj0LXHKv0oISdmd-1'
'created_at' => '1481007002'
)
```
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
//任意指定一個文件上傳
$result = $account_api->uploadMedia(IA_ROOT . '/attachment/images/global/nopic.jpg', 'image');
//指定一個附件目錄下的文件上傳
$result = $account_api->uploadMedia('images/global/nopic.jpg', 'image');
//上傳一個音頻文件
$result = $account_api->uploadMedia('images/global/test.amr', 'voice');
```
#####永久素材
######新增永久素材
>[info]uploadMediaFixed($path, $type)
* $path 待上傳文件物理路徑(絕對路徑)
* $type 上傳素材的類型,分別有圖片(image)、語音(voice)、縮略圖(thumb,用于視頻與音樂格式的縮略圖),此函數無法上傳永久視頻文件,見uploadVideoFixed函數
*返回值*
success
* media_id 素材id,媒體文件上傳后,獲取時的唯一標識
* url 新增的圖片素材的圖片URL(僅新增圖片素材時會返回該字段)
```
array(
'media_id' => 'Sl1720Mq2SCHWUgMNuQyrYr7Mtkn0ACwhxhaYJZ0-00'
'url' => 'http://mmbiz.qpic.cn/mmbiz_jpg/qYicJhgpqsd0rib1R3yJskq3If3QfhGnEchosmR9rJjsseaek7pJfjO88NRCRZIiaMpKpzTO9W1THWPgdZFKnlrTQ/0?wx_fmt=jpeg'
)
```
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
//任意指定一個文件上傳
$result = $account_api->uploadMediaFixed(IA_ROOT . '/attachment/images/global/nopic.jpg', 'image');
//指定一個附件目錄下的文件上傳
$result = $account_api->uploadMediaFixed('images/global/nopic.jpg', 'image');
//上傳一個音頻文件
$result = $account_api->uploadMediaFixed('images/global/test.amr', 'voice');
```
######新增永久視頻素材
>[info]uploadVideoFixed($title, $description, $path)
* $title 視頻素材的標題
* $description 視頻素材的描述
* $path 待上傳文件物理路徑(絕對路徑)
*返回值*
success
* media_id 素材id,媒體文件上傳后,獲取時的唯一標識
```
array(
'media_id' => 'Sl1720Mq2SCHWUgMNuQyrYr7Mtkn0ACwhxhaYJZ0-00'
)
```
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
//上傳attachment/videos 目錄下的一個視頻文件
$result = $account_api->uploadVideoFixed('我的視頻', '我的視頻描述', '/videos/myvideo.mp4');
```
######新增永久圖文素材
>[info]addMatrialNews($data)
* $data 圖文素結構,結構鍵名說明如下
* title 圖文標題
* author 作者
* digest 圖文消息的摘要,僅有單圖文消息才有摘要,多圖文此處為空
* content 圖文消息的具體內容,支持HTML標簽,必須少于2萬字符,小于1M,且此處會去除JS
* show_cover_pic 是否顯示封面,0為false,即不顯示,1為true,即顯示
* content_source_url 圖文消息的原文地址,即點擊“閱讀原文”后的URL
* thumb_media_id 圖文消息的封面圖片素材id(必須是永久mediaID)
```
$data = array(
'articles' => array(
array(
'title' => '圖文標題1',
'author' => '作者1',
'digest' => '摘要1',
'content' => '內容1',
'show_cover_pic' => true,
'content_source_url' => '來源url1',
'thumb_media_id' => '封面縮略圖1',
),
array(
'title' => '圖文標題2',
'author' => '作者2',
'digest' => '摘要2',
'content' => '內容2',
'show_cover_pic' => true,
'content_source_url' => '來源url2',
'thumb_media_id' => '封面縮略圖2',
),
),
);
```
*返回值*
success
* type 媒體文件類型
* media_id 素材id,媒體文件上傳后,獲取時的唯一標識
* created_at 媒體文件上傳時間戳
```
array (
'type' => 'image'
'media_id' => 'PlwECnLT9a6btGwBjGzZ5zJC5Lf_BN1o0MIp9yWp6dxak3mrj0LXHKv0oISdmd-1'
'created_at' => '1481007002'
)
```
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
//上傳縮略圖,永久素材必須是永久圖片
$thumb = $account_api->uploadMediaFixed(IA_ROOT . '/attachment/images/global/nopic.jpg', 'image');
$news = array(
'articles' => array(
array(
'title' => '圖文標題1',
'author' => '作者1',
'digest' => '摘要1',
'content' => '內容1',
'show_cover_pic' => true,
'content_source_url' => '來源url1',
'thumb_media_id' => $thumb['media_id'],
),
array(
'title' => '圖文標題2',
'author' => '作者2',
'digest' => '摘要2',
'content' => '內容2',
'show_cover_pic' => true,
'content_source_url' => '來源url2',
),
),
);
$result = $account_api->addMatrialNews($news);
```
#### 獲取臨時素材
>[info]downloadMedia($mediaid, $savefile = true)
* $mediaid 要獲取素材的id
* $savefile 是否保存成文件,或是直接返回資源文件二進制內容
*返回值*
success
string 保存到本地資源的路徑
string 文件的二進制內容
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
$filename = $account_api->downloadMedia('GjBxqhVBvKtGN7u74bq4KQh_9uwNy_uki-Dcon1lISFGZDmh4wjq_04tmibzhXwH', true);
print_r($filename);exit;
//輸出如下
videos/281/2016/12/1007_8fe35c0f648448f8968497927c407d6d.f10.mp4
```
#### 獲取永久素材
>[info]getMaterial($mediaid, $savefile = true)
* $mediaid 要獲取素材的id
* $savefile 是否保存成文件,或是直接返回資源文件二進制內容
*返回值*
success
string | array 保存到本地資源的路徑,或是視頻信息數組,或是圖文信息
string 文件的二進制內容
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
//獲取一個視頻
$filename = $account_api->getMaterial('GjBxqhVBvKtGN7u74bq4KQh_9uwNy_uki-Dcon1lISFGZDmh4wjq_04tmibzhXwH');
print_r($filename);exit;
//輸出如下
array(
'title' => '我的視頻'
'description' => '我的視頻描述'
'down_url' => 'http://153.37.232.150/vweixinp.tc.qq.com/1007_269d540dcd6743799395619f469db675.f10.mp4?vkey=AA115995B41386F59F6AB0CCF531AE2E023B6AAF4F8BF484ECADEF2C50700F258D549706F514EE236EB41CD5A9E01ABBE55CB22538900405C1E0A45323C95CEB76997FAC5B20668620D3FD9A3ECA54C68FF6ED1F2854FB04&sha=0&save=1'
)
//獲取一個圖文
$result = $account_api->getMaterial('Sl1720Mq2SCHWUgMNuQyrbqe8Xxk1WSukZn4_lAw6XQ');
print_r($filename);exit;
//輸出如下
array (
'news_item' => array (
0 => array (
'title' => '圖文標題1'
'author' => '作者1'
'digest' => '摘要1'
'content' => '內容1'
'content_source_url' => 'http://baidu.com'
'thumb_media_id' => 'Sl1720Mq2SCHWUgMNuQyre7IMLWzR-93lwzJMuJBgSA'
'show_cover_pic' => 1
'url' => 'http://mp.weixin.qq.com/s?__biz=MjM5NTMxOTM3Mg==&mid=502901628&idx=1&sn=cf26de340c40b5b6720ab6c8d409e46a&chksm=3ef7505f0980d9492d9237c422413aa262965435aaf92d3a3a0748ca0f189ec45a1f68b9d1cc#rd'
'thumb_url' => 'http://mmbiz.qpic.cn/mmbiz_jpg/qYicJhgpqsd06CMx9h3o3UlaTYrDzqjeibIwtYic3I5qJUB2eDibjdsdAQ3UbY9wzPYwu3aq5BFm9lo6As9RF2OJPg/0?wx_fmt=jpeg'
)
),
'create_time' => '1481083124',
'update_time' => '1481083125',
)
```
#### 獲取永久素材數量
>[info]getMaterialCount()
*返回值*
success
array (
'voice_count' => 音頻數量
'video_count' => 視頻數量
'image_count' => 圖片數量
'news_count'=> 圖文數量
)
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
$result = $account_api->getMaterialCount();
print_r($result);exit;
```
#### 刪除永久素材
>[info]delMaterial($mediaid)
*返回值*
success
true
error
[錯誤結構](http://www.hmoore.net/donknap/we7/134630)
*示例*
```
$account_api = WeAccount::create();
$result = $account_api->delMaterial('Sl1720Mq2SCHWUgMNuQyrTtPdSr7DFjAjee6q3VhOEY');
print_r($result);exit;
```
- 入門
- 系統安裝
- 接入公眾平臺
- 關鍵字回復
- 更上一層樓
- 編碼規范
- php編碼規范
- html&css編碼規范
- JavaScript編碼規范
- 系統概述
- 結構概述
- 入口腳本
- 微擎MVC
- URL路由&創建
- $_W&全局變量
- 加載器
- 錯誤處理
- 日志記錄
- 模板
- 模板標簽
- 數據調用
- 常用變量
- 手機端組件
- 概述及依賴
- 圖像上傳
- 彈出選項
- 后臺組件
- 概述及依賴
- 后臺文件上傳
- 富文本編輯器
- 系統鏈接選擇器
- 其它常用組件
- 數據庫
- 參數綁定
- 數據操作
- 主從配置
- 連接其它數據庫
- 緩存
- 配置
- 緩存操作
- Http請求
- 概述及依賴
- GET&POST請求
- 發送郵件
- 會員與積分
- 統一用戶中心
- 借用OAuth
- 積分操作
- 資料操作
- 卡券
- 營銷卡券
- 會員卡
- 消息響應
- 消息概述
- 消息響應
- 微信API
- 公眾號AccessToken
- 共享收貨地址(廢棄)
- 共享收貨地址(新)
- 粉絲標簽
- 客服消息
- 模板消息
- 粉絲信息
- 素材
- 群發
- 二維碼
- 在線支付
- 概述及依賴
- 發起支付(PHP)
- 發起支付(JS)
- 驗證支付
- 模塊
- 設計模塊
- 目錄結構
- module.php
- processor.php
- site.php
- receiver.php
- 模塊高級專題
- 自定義分享
- 智能應答
- 微信卡券
- 遠程附件
- 權限控制
- 特殊事件觸發模塊
- 粉絲信息
- 小程序
- 概述
- Uitl類
- 云服務
- 云API
- 系統接口
- 模塊云配置
- 云短信
- 云短信錯誤代碼
- 云短信發送函數
- 批量群發短信
- 應用推廣
- 懸賞文案
- 折扣碼
- 系統消息
- 開發者等級資料認證
- 應用標簽
- 模塊自動檢測訂閱支持
- 小程序
- 開發實例
- 參數設置
- 常見問題