日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

    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)尚未支持。

    接口地址

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

    方法參數(shù)

    Header 參數(shù)

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

    query 參數(shù)

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

    post 參數(shù)

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

    返回值說(shuō)明

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

    data 字段描述

    參數(shù)名 類(lèi)型 描述
    unionidString小程序用戶(hù) + 開(kāi)發(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. // 用戶(hù)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 檢測(cè)結(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. // 用戶(hù)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. }

    本文標(biāo)題:創(chuàng)新互聯(lián)百度小程序教程:unionid機(jī)制
    網(wǎng)站URL:http://www.dlmjj.cn/article/djodoid.html