本隨筆為個人總結,相對較易理解,經驗不深,如果有不正確的地方,請指出,謝謝
學習視頻:https://www.imooc.com/learn/483
在thinkphp5.1使用的視頻:https://www.bilibili.com/video/BV134411V7NC/?p=9&t=727
一、微信公眾平台
1.1 開發概述
文檔網頁:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Global_Return_Code.html
-
微信公眾平台開發是指為微信公眾號進行業務開發,為移動應用、PC端網站、公眾號第三方平台(為各行各業公眾號運營者提供服務)的開發,需要使用微信開放平台接入,這兩個想使用微信授權登錄等接口都要300每年
-
在申請到認證公眾號之前,你以先通過測試號申請系統,快速申請一個接口測試號(可以使用微信授權登錄),立即開始接口測試開發。
-
公眾平台以access_token為接口調用憑據,來調用接口,所有接口的調用需要先獲取access_token,access_token在2小時內有效,過期需要重新獲取,但1天內獲取次數有限自行存儲
1.2 前提
網址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index
申請好了測試號,填寫接口配置信息的URL,是用來讓微信發送GET請求,GET請求中,帶有幾個參數,在這個PHP文件中我們要把GET參數中的echostr參數原封不動的輸出出來,echo $_GET['echostr']; 此時便可校驗成功,另外幾個參數用來讓我們校驗是否是微信發送的請求,具體可以看文檔
這里可以使用utoos(一個工具寶箱)工具里的內網穿透,需要配置一下host文件

1.3 接口調用實質
重點:通過GET地址欄傳參,POST,取得xml文檔、json等方式進行數據傳輸。
由於使用的是測試號,無法使用直接使用頁面來添加公眾號菜單,所以需要使用微信提供的接口來創建公眾號的菜單,而使用這個接口,就需要獲取access_token
1.4 獲取access_token
-
接口調用請求說明
https請求方式: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
-
參數說明
參數 是否必須 說明 grant_type 是 client_credential appid 是 第三方用戶唯一憑證(也就是) secret 是 第三方用戶唯一憑證密鑰,即appsecret - appid、appkey
-
啥?意思就是讓我們構建這個網址,跳轉到這個頁面!但是是要連接上指定參數的跳轉,把其中的APPID和APPSECRET替換成自己的,但是微信怎么把access_toekn給我呢?
-
如圖: 這是這個json數據包(JSON 是純文本)
-
嗯?這不就是我們要用來創建菜單的access_token么?但是怎么是在別人的網頁上的啊,那我怎么得到他?下面會介紹
1.5 curl(重點)
我們需要使用到curl,簡單來說能使用cURL實現Get和Post請求的方法,能獲取訪問的頁面的信息,模擬訪問網頁,進一步了解:https://blog.csdn.net/weixin_39616995/article/details/82346526,
/**
* @param $url 要爬的地址
* @param string $type 請求方式,get還是post
* @param string $res 決定返回類型,對象("json")否則數組
* @param string $arr 要進行post傳輸的json字符串
* @return mixed 爬到的內容
*/
function httpCurl($url, $type="get", $res="json", $arr='')
{
//1.初始化curl
$ch = curl_init();
//2.設置curl參數
curl_setopt($ch, CURLOPT_URL, $url); //設置要訪問的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //設置使用curl_exec()獲取訪問到信息時,為1時以字符串返回,不直接輸出
if ($type == 'post') {
curl_setopt($ch, CURLOPT_POST, 1); //為1,設置為post訪問
curl_setopt($ch, CURLOPT_POSTFIELDS, $arr); //把$arr字符串當做表單數據post傳輸過去
}
//3.采集,正式進行頁面訪問,把頁面輸出的結果返回
$output = curl_exec($ch);
//4.關閉
curl_close($ch);
if ($res == 'json') {
return json_decode($output, false); //false:把頁面的json字符串返回結果輸出成對象
}
return json_decode($output, true); //true:把頁面的json字符串返回結果輸出成數組
}
在上面,我們可以知道,直接通過地址欄訪問的話可以看到access_token,於是,我們也可以通過curl進行get訪問該地址,並獲取該頁面的信息,但是,這是個json字符串,我們比較習慣使用數組,因此,我們通過json_decode()把這個獲取到的json字符串轉換為數組,用上面這個方法就會獲取得方便一些,如:
$data = httpCurl("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxada87&secret=7e88d8ba3c", "get", "arr", "");
這樣便取得了access_token,有效時間為兩個小時,這段時間里我們可以使用它調用接口。
1.6 創建菜單
接口調用請求說明
http請求方式:POST(請使用https協議) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
click和view的請求示例
{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"name":"菜單",
"sub_button":[
{
"type":"view",
"name":"搜索",
"url":"http://www.soso.com/"
},
{
"type":"miniprogram",
"name":"wxa",
"url":"http://mp.weixin.qq.com",
"appid":"wx286b93c14bbf93aa",
"pagepath":"pages/lunar/index"
},
{
"type":"click",
"name":"贊一下我們",
"key":"V1001_GOOD"
}]
}]
}
簡單介紹type類型
- type為view時,點擊按鈕會直接跳轉到url中
- 為click時,會向我們的填寫的接口URL地址發送xml文檔我們進行接收分析,再發送我們的xml文檔到微信
讓我們把帶有剛剛獲取的access_token接入該URL中,把創建菜單的json字符串post過去,現在構建json
$postArr = [
"button" => [
[
'name' => urlencode('菜單'),
'sub_button' => [
[
'type' => 'view',
'name' => urlencode('百度'),
'url' => 'https://www.baidu.cn'
],
[
'type' => 'click',
'name' => urlencode('聯系我'),
'key' => 'connect_me'
]
]
],
[
'type' => 'view',
'name' => urlencode('百度'),
'url' => 'https://www.baidu.cn'
]
],
];
$postJson = urldecode(json_encode($postArr));
$res = httpCurl($url, 'post', 'json', $postJson);
var_dump($res);
講解:
嗯?不是寫json么,怎么變成了寫數組,json是字符串,像這樣:
{"button":[{"name":"菜單","sub_button":[{"type":"view","name":"百度","url":"https:\/\/www.baidu.cn"},{"type":"click","name":"聯系我","key":"connect_me"}]},{"type":"view","name":"百度","url":"https:\/\/www.baidu.cn"}]}
也就是上面微信要求傳輸的數據,但是構建這個json字符串如果要嵌入變量或者在其中使用函數,就會相對麻煩,所以我們構建成數組,但是數組怎么變成json字符串呢?我們可以使用json_encode()函數進行轉換,但是使用json_encode會造成新的問題,像這樣"name":"\u83dc\u5355"
json_encode()會把其中的中文轉化為unicode編碼,但是我們要post過去的就是中文,因此我們可以要他變成不是中文,使用urlencode("菜單")
,將所有中文轉換為url編碼,%E8%8F%9C%E5%8D%95,這時候再進行urldecode()會變成"name":"%E8%8F%9C%E5%8D%95"
,emmm,我們要傳輸的是中文。。。所以我們需要把這些url編碼再轉換成中文,使用urldecode()就能實現把其中的url編碼轉換成中文。綜上$postJson = urldecode(json_encode($postArr));
終於把這個json字符串弄出來了,接下來就要把這個json字符串,傳輸給微信服務器
http請求方式:POST(請使用https協議) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
要使用post,那就使用剛剛寫好的httpCurl($url, 'post', 'json', $postJson)
進行傳輸吧,就獲得了微信服務器的json字符串,如果返回的是{"errcode":0,"errmsg":"ok"}
,那我們就設置菜單成功了,可以打開測試公眾號進行查看啦(取消關注再進行關注會更新的快一些),錯誤的話就看一下返回的錯誤提示吧
1.7 網頁授權
需要先到公眾平台官網中的“開發 - 接口權限 - 網頁服務 - 網頁帳號 - 網頁授權獲取用戶基本信息”的配置選項中,進行回調地址配置,填寫域名就行,不用寫http等


授權步驟
-
引導用戶進入授權頁面同意授權,獲取code
-
通過code換取網頁授權access_token(與基礎支持中的access_token不同)
-
通過網頁授權access_token和openid獲取用戶基本信息
此處的access_token與前面的access_token不同,這里access_token的是用來獲取用戶基本信息的.
1.引導用戶進入授權界面
在創建菜單時,其中一個按鈕使用view
[
'type' => 'view',
'name' => urlencode('授權登錄'),
'url' => 'https://www.yourdomain.cn/wxlogin.php'
]
此處的url使用自己要處理登錄的php頁面,成功創建菜單,並在公眾號成功更新(不更新的話可以重新關注),我們點擊這個按鈕之后就會跳轉到我們自己的頁面,當然,啥也沒有,我們現在就要在這個頁面獲取code
2.獲取code
參考鏈接(請在微信客戶端中打開此鏈接體驗):
如果鏈接的參數順序不對,授權頁面將無法正常訪問
我們在wxLogin.php這個頁面中,需要構建這個並跳轉到這個url,注意到,redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php
,是一些看不懂的字符,我們需要使用urlencode( )將傳輸的地址的一些符號轉化成這種形式才能進行傳輸,否則分不清url的參數到底是哪個url中的參數,因為都是使用&進行參數分割
redirect_url必須要在我們填寫的回調地址域名下,否則會失敗,在我們進行該url訪問后,頁面將跳轉至 redirect_uri/?code=CODE&state=STATE,也就是會帶有這些參數跳轉到這個redirect_url網址,這個網址就應該用$_GET['code']來取得url參數中的code
參數詳細介紹
參數 | 是否必須 | 說明 |
---|---|---|
appid | 是 | 公眾號的唯一標識 |
redirect_uri | 是 | 授權后重定向的回調鏈接地址, 請使用 urlEncode 對鏈接進行處理 |
response_type | 是 | 返回類型,請填寫code |
scope | 是 | 應用授權作用域,snsapi_base (不彈出授權頁面,直接跳轉,只能獲取用戶openid),snsapi_userinfo (彈出授權頁面,可通過openid拿到昵稱、性別、所在地。並且, 即使在未關注的情況下,只要用戶授權,也能獲取其信息 ) |
state | 否 | 重定向后會帶上state參數,開發者可以填寫a-zA-Z0-9的參數值,最多128字節 |
#wechat_redirect | 是 | 無論直接打開還是做頁面302重定向時候,必須帶此參數 |
把地址拼接好之后,直接header("Location:" . $url)跳轉即可,接下來,微信對get過去的數據進行判斷,並將參數code和state通過get傳輸到redirect_url上,如:http:www.mingyue.cn/wxCallback.php
,參數state與我們傳送過去的state一樣,可以用來校驗,該網址上,我們使用$_GET['code']
來獲取code
code說明 : code作為換取access_token的票據,每次用戶授權帶上的code將不一樣,code只能使用一次,5分鍾未被使用自動過期。
code的目的是用來獲取access_token,access_token才是真正用來獲取用戶信息的令牌。
3.通過code獲取access_token
獲取code后,請求以下鏈接獲取access_token: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
參數說明
參數 | 是否必須 | 說明 |
---|---|---|
appid | 是 | 公眾號的唯一標識 |
secret | 是 | 公眾號的appsecret |
code | 是 | 填寫第一步獲取的code參數 |
grant_type | 是 | 填寫為authorization_code |
正確時該網頁顯示的JSON數據包如下:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
參數 | 描述 |
---|---|
access_token | 網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同 |
expires_in | access_token接口調用憑證超時時間,單位(秒) |
refresh_token | 用戶刷新access_token |
openid | 用戶唯一標識,請注意,在未關注公眾號時,用戶訪問公眾號的網頁,也會產生一個用戶和公眾號唯一的OpenID |
scope | 用戶授權的作用域,使用逗號(,)分隔 |
這里的步驟就和前面獲取基礎access_token(用來使用創建菜單接口的)的步驟一樣,先連接對應參數的url,這個url可以直接地址欄進行訪問,會看到對應的json數據,但是這是在微信的網站上的,我們需要使用curl進行獲取json字符串並返回,再通過json_decode($ouput, true);//true為轉換為數組,否則為對象
將json字符串轉換為數組(這些操作都正在上面自己寫的httpCurl函數中完成:httpCurl($cur, "get", "arr")),就能通過數組下標將access_token和openid(用戶的唯一標識)取出來,存入session等進行存放,在獲取用戶信息時需要使用到。
注意:access_token的過期時間為expire_in(7200秒,2小時)
4.拉取用戶信息(需scope為 snsapi_userinfo)
http:GET(請使用https協議) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
參數說明
參數 | 描述 |
---|---|
access_token | 網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同 |
openid | 用戶的唯一標識 |
lang | 返回國家地區語言版本,zh_CN 簡體,zh_TW 繁體,en 英語 |
正確時返回的JSON數據包如下:
{
"openid":" OPENID",
"nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
"privilege":[ "PRIVILEGE1" "PRIVILEGE2" ],
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
也是一樣的,訪問構造該url的地址時,該頁面會顯示json字符串,我們直接通過httpCurl($url, "get", "arr");返回的便是存有這個用戶信息的數組,通過數組下標便可取出。
到這里,我們就把網頁授權重要的部分弄完啦。
1.8 消息管理
當普通微信用戶向公眾賬號發消息時,微信服務器將POST消息的XML數據包到開發者填寫的URL上。
接收文本信息
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[this is a test]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>
參數 | 描述 |
---|---|
ToUserName | 開發者微信號 |
FromUserName | 發送方帳號(一個OpenID) |
CreateTime | 消息創建時間 (整型) |
MsgType | 消息類型,文本為text |
Content | 文本消息內容 |
MsgId | 消息id,64位整型 |
這里是post過來的xml數據包,不能直接使用$_POST獲取
$postObj = file_get_contents("php://input"); //接收post過來的xml字符串
$postArr = simplexml_load_string($postObj, "SimpleXMLElement", LIBXML_NOCDATA); //將XML字符串解釋為對象
$toUserName = $postArr->ToUserName; //獲取到xml中的開發者微信號
$fromUserName = $postArr->FromUserName; //獲取到xml的發送方帳號(一個OpenID))
$content = $postArr->Content; //獲取發送過來的內容
//參數列表的參數都能通過對象->屬性的方式獲取
這樣我們就獲取達到用戶在微信公眾號發送的信息啦。
回復文本信息
格式:
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你好]]></Content>
</xml>
參數 | 是否必須 | 描述 |
---|---|---|
ToUserName | 是 | 接收方帳號(收到的OpenID) |
FromUserName | 是 | 開發者微信號 |
CreateTime | 是 | 消息創建時間 (整型) |
MsgType | 是 | 消息類型,文本為text |
Content | 是 | 回復的消息內容(換行:在content中能夠換行,微信客戶端就支持換行顯示) |
接受到用戶發送過來的xml信息的頁面中,我們需要構造這種xml格式的字符串,把其中的參數都替換掉,並將其輸出到該頁面,微信會將該xml字符串帶走回應給用戶。
構建該xml
我們可以直接將字符串和其中的微信需要修改的變量(如ToUserName,就是最初發送過來的FromUserName)進行替換和連接,這里使用sprintf
//構建回復新信息
$toUserName = $postArr->ToUserName;
$fromUserName = $postArr->FromUserName;
$content = "還沒開通該功能"
$xml = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime> .time(). </CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
$info = sprintf($xml, $fromUserName, $toUserName, $content);//把字符串中的%s逐個替換
echo $info; //讓微信直接在該頁面拿走xml數據包
返回根據格式化字符串格式生成的字符串,如果成功的話微信公眾號就會回復消息啦
看到這,其他地方的看文檔應該看文檔也能解決啦,下面只是潦草的介紹企業微信授權登錄~
二、企業微信
文檔地址:https://work.weixin.qq.com/api/doc/90000/90135/90664
2.1 相關概念介紹
-
corpid:每個企業都擁有唯一的corpid,獲取此信息可在管理后台“我的企業”-“企業信息”下查看“企業ID”(需要有管理員權限)
-
userid:每個成員都有唯一的userid,即所謂“帳號”。在管理后台->“通訊錄”->點進某個成員的詳情頁,可以看到。
-
agentid:每個應用都有唯一的agentid。在管理后台->“應用與小程序”->“應用”,點進某個應用,即可看到agentid。
-
secret:secret是企業應用里面用於保障數據安全的“鑰匙”,每一個應用都有一個獨立的訪問密鑰
-
access_token:access_token是企業后台去企業微信的后台獲取信息時的重要票據,由corpid和secret產生。所有接口在通信時都需要攜帶此信息用於驗證接口的訪問權限
與微信公眾號的不同之處:
- 企業微信中只有一個access_token,而微信公眾號中有兩個(一個是調用各種接口的,一個是僅能用來獲取用戶信息的)
2.2 獲取access_token
獲取access_token是調用企業微信API接口的第一步,相當於創建了一個登錄憑證,其它的業務API接口,都需要依賴於access_token來鑒權調用者身份。
獲取用戶信息直接就要用到這個access_token
請求方式: GET(HTTPS)
請求地址: https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ID&corpsecret=SECRET
注:此處標注大寫的單詞ID和SECRET,為需要替換的變量,根據實際獲取值更新。其它接口也采用相同的標注,不再說明。
參數說明:
參數 | 必須 | 說明 |
---|---|---|
corpid | 是 | 企業ID,獲取方式參考:術語說明-corpid |
corpsecret | 是 | 應用的憑證密鑰,獲取方式參考:術語說明-secret |
權限說明:
每個應用有獨立的secret,獲取到的access_token只能本應用使用,所以每個應用的access_token應該分開來獲取
實現
當我們構造好上面的URL地址后,直接訪問該URL地址就會看到相應的json字符串:
{
"errcode": 0,
"errmsg": "ok",
"access_token": "accesstoken000001",
"expires_in": 7200
}
參數說明:
參數 | 說明 |
---|---|
errcode | 出錯返回碼,為0表示成功,非0表示調用失敗 |
errmsg | 返回碼提示語 |
access_token | 獲取到的憑證,最長為512字節 |
expires_in | 憑證的有效時間(秒) |
獲取其他網頁的字符串和微信公眾號的一樣,都是通過curl完成,這里再貼一次
/**
* @param $url 要爬的地址
* @param string $type 請求方式,get還是post
* @param string $res 決定返回類型,對象("json")否則數組
* @param string $arr 要進行post傳輸的json字符串
* @return mixed 爬到的內容
*/
function httpCurl($url, $type="get", $res="json", $arr='')
{
//1.初始化curl
$ch = curl_init();
//2.設置curl參數
curl_setopt($ch, CURLOPT_URL, $url); //設置要訪問的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //設置使用curl_exec()獲取訪問到信息時,為1時以字符串返回,不直接輸出
if ($type == 'post') {
curl_setopt($ch, CURLOPT_POST, 1); //為1,設置為post訪問
curl_setopt($ch, CURLOPT_POSTFIELDS, $arr); //把$arr字符串當做表單數據post傳輸過去
}
//3.采集,正式進行頁面訪問,把頁面輸出的結果返回
$output = curl_exec($ch);
//4.關閉
curl_close($ch);
if ($res == 'json') {
return json_decode($output, false); //false:把頁面的json字符串返回結果輸出成對象
}
return json_decode($output, true); //true:把頁面的json字符串返回結果輸出成數組
使用該方法,httpCurl($url, 'get', 'arr')
直接將url頁面中的json字符串轉換為數組,通過數組下標即可獲取access_token,將其存起來(session,redis),過期時間2小時,后面的接口調用需要使用到
2.3 網頁授權登錄
步驟
與前面有些相似,所以就不詳細介紹了
- 用戶點擊按鈕,跳轉網頁頁面(該網頁能夠進行構造url並跳轉)
- 填寫的回調地址上接收code
- 通過code和access_token獲取用戶身份:userid(是企業用戶)或openid(不是企業用戶)
- 為企業成員時,通過access_token和userid讀取成員信息
1. 獲取code
構建URL並跳轉(header)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
參數說明:
參數 | 必須 | 說明 |
---|---|---|
appid | 是 | 企業的CorpID |
redirect_uri | 是 | 授權后重定向的回調鏈接地址,請使用urlencode對鏈接進行處理 |
response_type | 是 | 返回類型,此時固定為:code |
scope | 是 | 應用授權作用域。企業自建應用固定填寫:snsapi_base |
state | 否 | 重定向后會帶上state參數,企業可以填寫a-zA-Z0-9的參數值,長度不可超過128個字節 |
#wechat_redirect | 是 | 終端使用此參數判斷是否需要帶上身份信息 |
跳轉到該url后,微信將通過get方式回調到redirect_uri,向我們傳輸 redirect_uri?code=CODE&state=STATE
2.回調頁接收code
直接$_GET['code']即可獲取
3.通過code和access_token獲取用戶身份
這里的用戶有兩種身份:非企業成員、企業成員
對於非企業成員返回的是openid,企業成員返回的是userid
請求方式:GET(HTTPS)
請求地址:https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE
參數說明:
參數 | 必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
code | 是 | 通過成員授權獲取到的code,最大為512字節。每次成員授權帶上的code將不一樣,code只能使用一次,5分鍾未被使用自動過期。 |
a) 當用戶為企業成員時返回示例如下:
{ "errcode": 0, "errmsg": "ok", "UserId":"USERID", "DeviceId":"DEVICEID"}
參數 | 說明 |
---|---|
errcode | 返回碼 |
errmsg | 對返回碼的文本描述內容 |
UserId | 成員UserID。若需要獲得用戶詳情信息,可調用通訊錄接口:讀取成員 |
DeviceId | 手機設備號(由企業微信在安裝時隨機生成,刪除重裝會改變,升級不受影響) |
b) 非企業成員授權時返回示例如下:
{ "errcode": 0, "errmsg": "ok", "OpenId":"OPENID", "DeviceId":"DEVICEID"}
參數 | 說明 |
---|---|
errcode | 返回碼 |
errmsg | 對返回碼的文本描述內容 |
OpenId | 非企業成員的標識,對當前企業唯一 |
DeviceId | 手機設備號(由企業微信在安裝時隨機生成,刪除重裝會改變,升級不受影響) |
使用httpCurl獲取該json並轉換該字符串為數組,這里不再詳細介紹,與前面的一樣噠~
4.讀取成員
在通訊錄同步助手中此接口可以讀取企業通訊錄的所有成員信息,而自建應用可以讀取該應用設置的可見范圍內的成員信息。
請求方式:GET(HTTPS)
請求地址:https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&userid=USERID
參數說明:
參數 | 必須 | 說明 |
---|---|---|
access_token | 是 | 調用接口憑證 |
userid | 是 | 成員UserID。對應管理端的帳號,企業內必須唯一。不區分大小寫,長度為1~64個字節 |
訪問后顯示的是json字符串,使用httpCurl訪問url並獲取該json並轉換該字符串為數組,獲取完成。
希望我的文章能對大家有所幫助,謝謝你的閱讀~