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

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

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

   #region  --- 获取OpenId ---
[HttpGet]
public string GetOpenID(string scode)
{
try
{ var _APP_ID = ""; // 你申请的小程序ID
var _APP_SECRET = ""; // 小程序的SECRET ,当然这个是可微信公共平台去生成的 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);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "Get"; // 这里是定义请求的方式 HttpWebResponse response = request.GetResponse() as HttpWebResponse; //对请求返回的结果进行处理
Stream io = response.GetResponseStream();
StreamReader sr = new StreamReader(io, Encoding.UTF8);
var html = sr.ReadToEnd(); //返回的内容被读取为流
sr.Close();
io.Close();
response.Close(); string key = "\"openid\":\"";
int stratindex = html.IndexOf(key); //截取字符 if (stratindex != -) //验证是否存在OpenID ,有时使用过期的登陆凭证,会出现异常
{
int endindex = html.IndexOf("\"}", stratindex); // 这里在截取字符时,要注意内容是否和截取的部分相同,否则截取会失败
string _openid = html.Substring(stratindex + key.Length, endindex - stratindex - key.Length);
return _openid;
}
else {
return "error";
} }
catch (Exception ex)
{
return "error"+ex;
} }
#endregion

20171018 在小程序页面去获取用户的OpenID的更多相关文章

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

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

  2. 小程序原生js获取用户权限

    1.首先要有一个按钮 <view name="authorizemodal"> <view class="drawer_screen" wx: ...

  3. [小程序]微信小程序登陆并获取用户信息

    1.小程序js端调用框架登陆API,获取到一个临时code,拿着这个code去调用自己的服务端接口 2.在自己的服务器端,使用app_id app_secrect code可以获取到用户的openid ...

  4. Java springboot支付宝小程序授权,获取用户信息,支付及回调

    参考官方文档https://opendocs.alipay.com/mini/introduce/pay 支付宝小程序的支付和微信小程序的支付一样第一步都是要获取到用户的唯一标识,在微信中我们获取到的 ...

  5. 微信小程序开发之获取用户手机号码——使用简单php接口demo进行加密数据解密

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

  6. 逍遥云天 微信小程序开发之获取用户手机号码——使用简单php接口demo进行加密数据解密

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

  7. 小程序登录&授权&获取用户信息

    一 .登录 时序图如下: wx.login() 获取js_code 示例代码: App({   onLaunch: function() {     wx.login({       success: ...

  8. C#微信小程序服务端获取用户解密信息

    using AIOWeb.Models; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.C ...

  9. 【微信小程序】如何获取用户绑定手机号

    用户调用wx.login()方法,获取登录用户凭证code wx.login({ success: function(res) { console.log('loginCode', res.code) ...

随机推荐

  1. Android TextView文字空格

     表示全角空格, <string name="aaa">你好      啊</string> http://stackoverflow.com/questi ...

  2. C++/MFC-线程优先级

    转载: https://blog.csdn.net/qwdpoiguw/article/details/72830426 一.线程优先级(Thread priority ) 简单的说就是(线程)的优先 ...

  3. Flask web开发之路一

    之前学过一段时间的flask,感觉还是挺好用的,自己的专利挖掘项目也想这个web框架来搭建,于是重新开始基础学习 环境:win10,python3.6,pycharm2017,虚拟环境virtuale ...

  4. 自建docker swarm体验简单之美

    之前用的阿里云容器服务,但由于acsrouting的路由错乱问题,被逼上自建docker swarm的梁山.今天尝试自己搭建docker swarm,竟然轻松搞定,简单的超乎想象. 以下是实际搭建操作 ...

  5. {Django基础六之ORM中的锁和事务}一 锁 二 事务

    Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 一 锁 行级锁 select_for_update(nowait=False, skip_locked=False) #注意必须用在 ...

  6. [No0000ED]IPSec策略之管理

    IP安全策略 @echo off :again set num= set ippolicyname= set ismmpfs= set keytime= set keyexpress= set new ...

  7. #include<stdio.h> #include "stdio.h"

    https://baike.baidu.com/item/#include <stdio.h> #include <stdio.h> 编辑 #include<stdio. ...

  8. docker disable restart--run privileged

    --restart=unless-stopped option, as @Shibashis mentioned, or update the restart policy (this require ...

  9. Xib给特定view添加手势

    步骤1.拖拽手势注意:拖拽到First Responder下方,成功后会出现一个分类Objects(如图 拖拽成功后会多出一个分类Objects ) 步骤2.给需要的view绑定手势控件 拖拽gest ...

  10. Instruments之Leaks学习

    前言: 本篇文章,在于学习,我把别人的一些感觉好的文章汇总成了一篇,亲自实现了一下,留用于今后学习资料. 文章脉络:文章脉络: 一.内存优化 简介:Objective_C 有3种内存管理方法, 它们分 ...