新聞中心
- unionid 機(jī)制
- getunionid
- 接口說(shuō)明
- 接口地址
- 方法參數(shù)
- 返回值說(shuō)明
- 返回值示例
- 錯(cuò)誤碼
- 代碼示例
- getunionid
unionid 機(jī)制
在擁有多個(gè)智能小程序的主體的情況下,智能小程序提供的 unionid ,使開(kāi)發(fā)者可以實(shí)現(xiàn)跨小程序的用戶(hù)區(qū)分。從用戶(hù)角度看,每個(gè)用戶(hù)在同一主體下的小程序內(nèi) unionid 是唯一的。unionid 獲取依賴(lài)用戶(hù)登錄授權(quán),請(qǐng)妥善處理用戶(hù)未授權(quán)場(chǎng)景。

甘泉網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
getunionid
接口說(shuō)明
獲取 unionid 。
Web 態(tài)說(shuō)明:Web 態(tài)尚未支持。
接口地址
https://openapi.baidu.com/rest/2.0/smartapp/getunionid?access_token=${access_token}
方法參數(shù)
Header 參數(shù)
| 參數(shù)名 | 類(lèi)型 | 是否必須 | 描述 |
|---|---|---|---|
| Content-Type | Application/x-www-form-urlencoded | 是 | HTTP 的實(shí)體首部字段,瀏覽器原生 form 表單 |
query 參數(shù)
| 參數(shù)名 | 類(lèi)型 | 是否必須 | 描述 |
|---|---|---|---|
| access_token | String | 是 | 接口調(diào)用憑證 |
post 參數(shù)
| 參數(shù)名 | 類(lèi)型 | 是否必須 | 描述 |
|---|---|---|---|
| openid | String | 是 | 用戶(hù) openid ,需要經(jīng)過(guò)用戶(hù)登錄授權(quán)過(guò)程獲取 |
返回值說(shuō)明
| 參數(shù)名 | 類(lèi)型 | 描述 |
|---|---|---|
| errno | Int | 錯(cuò)誤碼,詳情見(jiàn)下方錯(cuò)誤碼 |
| errmsg | String | 錯(cuò)誤信息 |
| request_id | String | 請(qǐng)求 ID ,標(biāo)識(shí)一次請(qǐng)求 |
| data | Object | 詳細(xì)數(shù)據(jù),errno 為 0 的情況下才有意義 |
data 字段描述
| 參數(shù)名 | 類(lèi)型 | 描述 |
|---|---|---|
| unionid | String | 小程序用戶(hù) + 開(kāi)發(fā)者主體維度唯一的 id |
返回值示例
{"data": {"unionid": "St6PVMkgMDeh92Uq2EWfx6H"},"errmsg": "succ","errno": 0,"request_id": "2321772211","timestamp": 1563886782}
錯(cuò)誤碼
| 錯(cuò)誤碼 | 描述 |
|---|---|
| 0 | 正常 |
| 400 | 參數(shù)錯(cuò)誤,請(qǐng)檢查 openid 是否傳遞正確 |
| 10010500 | 服務(wù)端內(nèi)部異常,請(qǐng)稍候重試 |
代碼示例
- PHP
- GO
/*** php curl方式獲取unionid*/// 參考 accessToken 獲取文檔$accessToken = "xxx";// 用戶(hù)openid$openid = "xxxx";$ret = getUnionid($accessToken, $openid);var_dump($ret);/*** @desc 發(fā)起獲取unionid請(qǐng)求*/function getUnionid($accessToken, $openid){$url = "https://openapi.baidu.com/rest/2.0/smartapp/getunionid?access_token={$accessToken}";$postDataArr = array('openid' => $openid,);$resp = curlPost($url, $postDataArr);return $resp;}/*** @desc curl POST請(qǐng)求,可以按照自己實(shí)際編程環(huán)境替換* @param string $url 請(qǐng)求的url地址* @param array $postDataArr 傳遞的數(shù)組參數(shù)* @return string 檢測(cè)結(jié)果json字符串*/function curlPost($url, $postDataArr){$headerArr =array("Content-type:application/x-www-form-urlencoded");$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $postDataArr);curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArr);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($curl);curl_close($curl);return $output;}
/*** Go http PostForm 方式獲取unionid*/package mainimport ("encoding/json""fmt""io/ioutil""log""net/http""net/url""strings""time")// 返回的信息type Response struct {Errno int `json:"errno"`Errmsg string `json:"errmsg"`RequestId string `json:"request_id"`Timestamp int64 `json:"timestamp"`Data struct {Unionid string `json:"unionid"`} `json:"data"`}func main() {// 參考 accessToken 獲取文檔accessToken := "xxx"// 用戶(hù)openidopenid := "xxx"resp, err := getUnionid(accessToken, openid)fmt.Println(resp, err)}/*** getUnionid 發(fā)起getUnionid請(qǐng)求*/func getUnionid(accessToken, openid string) (*Response, error) {urlPath := "https://openapi.baidu.com/rest/2.0/smartapp/getunionid?access_token=" + accessTokendata := make(url.Values)data.Add("openid", openid)resp, err := netPost(urlPath, &data)if err != nil {log.Println(err)return nil, err}return resp, nil}/*** netPost POST請(qǐng)求,可以按照自己實(shí)際編程環(huán)境替換*/func netPost(urlPath string, data *url.Values) (*Response, error) {req, err := http.NewRequest(http.MethodPost, urlPath, strings.NewReader(data.Encode()))req.Header.Add("content-type", "application/x-www-form-urlencoded")if err != nil {log.Println(err)return nil, err}client := &http.Client{Timeout: 5 * time.Second}resp, err := client.Do(req)if err != nil || resp.Body == nil {log.Println(err)return nil, err}defer resp.Body.Close()result, err := ioutil.ReadAll(resp.Body)if err != nil {log.Println(err)return nil, err}respData := &Response{}err = json.Unmarshal(result, respData)if err != nil {log.Println(err)return nil, err}return respData, nil}
本文標(biāo)題:創(chuàng)新互聯(lián)百度小程序教程:unionid機(jī)制
網(wǎng)站URL:http://www.dlmjj.cn/article/djodoid.html


咨詢(xún)
建站咨詢(xún)
