1. 在小程序的.js 文件中增加代码

 1 //加载页面时到后台服务去获取openID
 2   onLoad: function (options) {
 3     //OpenId
 4     wx.login({
 5       //获取code
 6       success: (res) => {
 7         wx.request({
 8           method: "GET",
 9           url: 'https://(自己的域名部分)/api/pc/GetOpenID', //仅为示例,并非真实的接口地址
10           data: {
11             scode: res.code   // 使用wx.login得到的登陆凭证,用于换取openid
12           },
13           header: {
14             'content-type': 'application/json' // 默认值
15           },
16            success: (res) => {
17             this.setData({
18               sopenid: res.data
19             })
20             console.log(this.data.sopenid)
21            }
22         })
23         console.log(res.code) //这里只是为了在微信小程序客户端好查看结果,找寻问题
24      }
25     })
26   },

2 . 服务器端Web API 通过小程序界面传递的数据去获取 Open ID

 1   #region  --- 获取OpenId ---
 2         [HttpGet]
 3         public string GetOpenID(string scode)
 4         {
 5             try
 6             {
 7
 8                 var _APP_ID = "";   // 你申请的小程序ID
 9                 var _APP_SECRET = "";  // 小程序的SECRET ,当然这个是可微信公共平台去生成的
10
11                 var url = string.Format("https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code", _APP_ID, _APP_SECRET, scode);
12                 HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
13                 request.Method = "Get";     // 这里是定义请求的方式
14
15                 HttpWebResponse response = request.GetResponse() as HttpWebResponse;   //对请求返回的结果进行处理
16                 Stream io = response.GetResponseStream();
17                 StreamReader sr = new StreamReader(io, Encoding.UTF8);
18                 var html = sr.ReadToEnd();    //返回的内容被读取为流
19                 sr.Close();
20                 io.Close();
21                 response.Close();
22
23                 string key = "\"openid\":\"";
24                 int stratindex = html.IndexOf(key);   //截取字符
25
26                 if (stratindex != -1)   //验证是否存在OpenID ,有时使用过期的登陆凭证,会出现异常
27                 {
28                     int endindex = html.IndexOf("\"}", stratindex);    // 这里在截取字符时,要注意内容是否和截取的部分相同,否则截取会失败
29                     string _openid = html.Substring(stratindex + key.Length, endindex - stratindex - key.Length);
30                     return _openid;
31                 }
32                 else {
33                     return "error";
34                 }
35
36             }
37             catch (Exception ex)
38             {
39                 return "error"+ex;
40             }
41
42
43
44         }
45         #endregion

转载于:https://www.cnblogs.com/Soar-Pang/p/7685359.html

20171018 在小程序页面去获取用户的OpenID相关推荐

  1. 微信小程序云开发获取用户openid

    下面带领大家借助小程序云开发获取用户唯一标识openid 首先在磁盘建立一个文件夹,存放此项目 在目录这里选择自己创建的文件夹位置,AppID输入自己申请的小程序AppID,然后选择不使用云服务,我们 ...

  2. 微信小程序中如何获取用户手机号授权登录

    随着微信小程序的普及,许多应用程序需要用户登录才能提供更好的服务.而获取用户手机号码是验证用户身份和确保账户安全的重要步骤之一.因此,在本文中,我们将介绍如何在微信小程序中实现手机号授权登录. 步骤一 ...

  3. php网页抓取浏览者手机号码_微信小程序开发之获取用户手机号码(php接口解密)...

    后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如 ...

  4. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号详解

    最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...

  5. 微信小程序python解析获取用户手机号_微信小程序如何获取用户手机号

    最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...

  6. 小程序wx.getUserInfo获取用户信息方案介绍

    问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本 API和组件 - -   - -     背景 小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.g ...

  7. 微信小程序授权登录获取用户信息详解

    今天来说一下微信小程序的授权登录获取用户信息,首先我们看微信提供的小程序开发文档: https://blog.csdn.net/qq_41971087/article/details/82466647 ...

  8. 微信小程序开发之获取用户信息

    环境 微信开发者工具 Stable 1.06.2303220 云开发控制台 v1.5.47 用户的openid和头像名称信息 openid 是小程序用户的唯一标识.注意, openid 并不是微信用户 ...

  9. 微信小程序 open-type=“getUserInfo“ 获取用户信息失败 @杨章隐

    open-type="getUserInfo" 获取用户信息失败open-type="getUserInfo" 获取用户信息"微信用户"op ...

  10. 小程序获取用户唯一id php_微信小程序配合PHP获取用户OpenID标识

    小程序中的openid具有很多作用,不再展开赘述.考虑到云函数能直接获取用户的openid,推荐小程序访问量不大的用户使用云函数直接获取, 本篇文章只简单阐述一下,小程序配合后端来获取用户的openi ...

最新文章

  1. 数据治理(三):数据质量管理
  2. android开发--ListView中的getView原理
  3. mysql fabric c .net_MySQL Fabric [01] 简介
  4. python安装教程windows-Python for windows 安装教程
  5. 编程之美-数组分割方法整理
  6. jquery 乱码 传参_jquery获取URL中参数解决中文乱码问题的两种方法
  7. 极有收藏价值的一组难求纯4位数字.com域名 #8847#含义你懂的。 http://t.cn/ae9CTd
  8. Java Socket编程----通信是这样炼成的
  9. 匈牙利命名法的优缺点
  10. 初级程序员为避免淘汰该怎么办?
  11. LeetCode刷题(32)
  12. win10打开命令提示符
  13. 建立微带天线阵列与散射仿真
  14. redis实现原理和应用(redis读书笔记)
  15. 【STM32F429】第7章 ThreadX GUIX移植到STM32F429(MDK AC5)
  16. 快讯分类_如何从Google快讯创建RSS Feed
  17. php ffmpeg扩展下载
  18. 【Java】各种日期转换
  19. 用Eclipse读取excel中全部数据
  20. background,background-size背景图片和盒子模型

热门文章

  1. 【code】flex_进度条样式
  2. 如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
  3. mysql优化概述2
  4. date命令 简单使用
  5. 【234期门诊集锦】全面了解 VMware View 5 虚拟桌面
  6. 经验案例:当配置为共享/静态WEP加密时,客户端无法从DHCP获取IP地址
  7. PHP设计模式——命令模式
  8. vue-cli3使用vue-router 使用动态路由,在刷新页面时报错
  9. python+adb实现物理按键长按(比如长按关机)
  10. eFrameWork学习笔记-eList