日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)百度小程序教程:unionid機(jī)制
  • unionid 機(jī)制
    • getunionid
      • 接口說明
      • 接口地址
      • 方法參數(shù)
      • 返回值說明
      • 返回值示例
      • 錯(cuò)誤碼
      • 代碼示例

    unionid 機(jī)制

    在擁有多個(gè)智能小程序的主體的情況下,智能小程序提供的 unionid ,使開發(fā)者可以實(shí)現(xiàn)跨小程序的用戶區(qū)分。從用戶角度看,每個(gè)用戶在同一主體下的小程序內(nèi) unionid 是唯一的。unionid 獲取依賴用戶登錄授權(quán),請(qǐng)妥善處理用戶未授權(quán)場景。

    甘泉網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

    getunionid

    接口說明

    獲取 unionid 。

    Web 態(tài)說明:Web 態(tài)尚未支持。

    接口地址

     
     
     
    1. https://openapi.baidu.com/rest/2.0/smartapp/getunionid?access_token=${access_token}

    方法參數(shù)

    Header 參數(shù)

    參數(shù)名 類型 是否必須 描述
    Content-TypeApplication/x-www-form-urlencodedHTTP 的實(shí)體首部字段,瀏覽器原生 form 表單

    query 參數(shù)

    參數(shù)名 類型 是否必須 描述
    access_tokenString接口調(diào)用憑證

    post 參數(shù)

    參數(shù)名 類型 是否必須 描述
    openidString用戶 openid ,需要經(jīng)過用戶登錄授權(quán)過程獲取

    返回值說明

    參數(shù)名 類型 描述
    errnoInt錯(cuò)誤碼,詳情見下方錯(cuò)誤碼
    errmsgString錯(cuò)誤信息
    request_idString請(qǐng)求 ID ,標(biāo)識(shí)一次請(qǐng)求
    dataObject詳細(xì)數(shù)據(jù),errno 為 0 的情況下才有意義

    data 字段描述

    參數(shù)名 類型 描述
    unionidString小程序用戶 + 開發(fā)者主體維度唯一的 id

    返回值示例

     
     
     
    1. {
    2. "data": {
    3. "unionid": "St6PVMkgMDeh92Uq2EWfx6H"
    4. },
    5. "errmsg": "succ",
    6. "errno": 0,
    7. "request_id": "2321772211",
    8. "timestamp": 1563886782
    9. }

    錯(cuò)誤碼

    錯(cuò)誤碼 描述
    0正常
    400參數(shù)錯(cuò)誤,請(qǐng)檢查 openid 是否傳遞正確
    10010500服務(wù)端內(nèi)部異常,請(qǐng)稍候重試

    代碼示例

    • PHP
    • GO
     
     
     
    1. /**
    2. * php curl方式獲取unionid
    3. */
    4. // 參考 accessToken 獲取文檔
    5. $accessToken = "xxx";
    6. // 用戶openid
    7. $openid = "xxxx";
    8. $ret = getUnionid($accessToken, $openid);
    9. var_dump($ret);
    10. /**
    11. * @desc 發(fā)起獲取unionid請(qǐng)求
    12. */
    13. function getUnionid($accessToken, $openid){
    14. $url = "https://openapi.baidu.com/rest/2.0/smartapp/getunionid?access_token={$accessToken}";
    15. $postDataArr = array(
    16. 'openid' => $openid,
    17. );
    18. $resp = curlPost($url, $postDataArr);
    19. return $resp;
    20. }
    21. /**
    22. * @desc curl POST請(qǐng)求,可以按照自己實(shí)際編程環(huán)境替換
    23. * @param string $url 請(qǐng)求的url地址
    24. * @param array $postDataArr 傳遞的數(shù)組參數(shù)
    25. * @return string 檢測結(jié)果json字符串
    26. */
    27. function curlPost($url, $postDataArr){
    28. $headerArr =array("Content-type:application/x-www-form-urlencoded");
    29. $curl = curl_init();
    30. curl_setopt($curl, CURLOPT_URL, $url);
    31. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    32. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
    33. curl_setopt($curl, CURLOPT_POST, 1);
    34. curl_setopt($curl, CURLOPT_POSTFIELDS, $postDataArr);
    35. curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArr);
    36. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    37. $output = curl_exec($curl);
    38. curl_close($curl);
    39. return $output;
    40. }
     
     
     
    1. /**
    2. * Go http PostForm 方式獲取unionid
    3. */
    4. package main
    5. import (
    6. "encoding/json"
    7. "fmt"
    8. "io/ioutil"
    9. "log"
    10. "net/http"
    11. "net/url"
    12. "strings"
    13. "time"
    14. )
    15. // 返回的信息
    16. type Response struct {
    17. Errno int `json:"errno"`
    18. Errmsg string `json:"errmsg"`
    19. RequestId string `json:"request_id"`
    20. Timestamp int64 `json:"timestamp"`
    21. Data struct {
    22. Unionid string `json:"unionid"`
    23. } `json:"data"`
    24. }
    25. func main() {
    26. // 參考 accessToken 獲取文檔
    27. accessToken := "xxx"
    28. // 用戶openid
    29. openid := "xxx"
    30. resp, err := getUnionid(accessToken, openid)
    31. fmt.Println(resp, err)
    32. }
    33. /**
    34. * getUnionid 發(fā)起getUnionid請(qǐng)求
    35. */
    36. func getUnionid(accessToken, openid string) (*Response, error) {
    37. urlPath := "https://openapi.baidu.com/rest/2.0/smartapp/getunionid?access_token=" + accessToken
    38. data := make(url.Values)
    39. data.Add("openid", openid)
    40. resp, err := netPost(urlPath, &data)
    41. if err != nil {
    42. log.Println(err)
    43. return nil, err
    44. }
    45. return resp, nil
    46. }
    47. /**
    48. * netPost POST請(qǐng)求,可以按照自己實(shí)際編程環(huán)境替換
    49. */
    50. func netPost(urlPath string, data *url.Values) (*Response, error) {
    51. req, err := http.NewRequest(http.MethodPost, urlPath, strings.NewReader(data.Encode()))
    52. req.Header.Add("content-type", "application/x-www-form-urlencoded")
    53. if err != nil {
    54. log.Println(err)
    55. return nil, err
    56. }
    57. client := &http.Client{Timeout: 5 * time.Second}
    58. resp, err := client.Do(req)
    59. if err != nil || resp.Body == nil {
    60. log.Println(err)
    61. return nil, err
    62. }
    63. defer resp.Body.Close()
    64. result, err := ioutil.ReadAll(resp.Body)
    65. if err != nil {
    66. log.Println(err)
    67. return nil, err
    68. }
    69. respData := &Response{}
    70. err = json.Unmarshal(result, respData)
    71. if err != nil {
    72. log.Println(err)
    73. return nil, err
    74. }
    75. return respData, nil
    76. }

    分享文章:創(chuàng)新互聯(lián)百度小程序教程:unionid機(jī)制
    轉(zhuǎn)載來源:http://m.5511xx.com/article/djodoid.html