• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信公众号 > 微信公众平台开发之获得ACCESSTOKEN .Net详解及实例

微信公众平台开发之获得ACCESSTOKEN .Net详解及实例

作者:匿名 字体:[增加 减小] 来源:互联网

匿名通过本文主要向大家介绍了微信公众平台开发等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
这篇文章主要介绍了微信公众平台开发实战Java版之微信获取用户基本信息 的相关资料,需要的朋友可以参考下

在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。

公众号可通过本http:///code/11829.html" target="_blank">接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。

开发者可通过OpenID来获取用户基本信息。请使用https协议。

我们可以看看官方的文档:获取用户的基本信息。

接口调用请求说明

http请求方式: GET

api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

参数说明

参数是否必须说明
access_token是调用接口凭证
openid是普通用户的标识,对当前公众号唯一
lang否返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语

返回说明

正常情况下,微信会返回下述JSON数据包给公众号:

 {
  "subscribe": 1, 
  "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M", 
  "nickname": "Band", 
  "sex": 1, 
  "language": "zh_CN", 
  "city": "广州", 
  "province": "广东", 
  "country": "中国", 
  "headimgurl":  "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0", 
  "subscribe_time": 1382694957,
  "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
  "remark": "",
  "groupid": 0
}

参数说明

参数说明
subscribe用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
openid用户的标识,对当前公众号唯一
nickname用户的昵称
sex用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
city用户所在城市
country用户所在国家
province用户所在省份
language用户的语言,简体中文为zh_CN
headimgurl用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
subscribe_time用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
unionid只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。详见:获取用户个人信息(UnionID机制)
remark公众号运营者对粉丝的备注,公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
groupid用户所在的分组ID

错误时微信会返回错误码等信息,JSON数据包示例如下(该示例为AppID无效错误):

 {"errcode":40013,"errmsg":"invalid appid"}

根据上面的信息,我们定义一个用户信息类来存放用户的基本信息。

package com.souvc.weixin.pojo;
/**
* 类名: WeixinUserInfo </br>
* 描述: 微信用户的基本信息 </br>
* 开发人员: souvc </br>
* 创建时间: 2015-11-27 </br>
* 发布版本:V1.0 </br>
 */
public class WeixinUserInfo {
  // 用户的标识
  private String openId;
  // 关注状态(1是关注,0是未关注),未关注时获取不到其余信息
  private int subscribe;
  // 用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
  private String subscribeTime;
  // 昵称
  private String nickname;
  // 用户的性别(1是男性,2是女性,0是未知)
  private int sex;
  // 用户所在国家
  private String country;
  // 用户所在省份
  private String province;
  // 用户所在城市
  private String city;
  // 用户的语言,简体中文为zh_CN
  private String language;
  // 用户头像
  private String headImgUrl;
  public String getOpenId() {
    return openId;
  }
  public void setOpenId(String openId) {
    this.openId = openId;
  }
  public int getSubscribe() {
    return subscribe;
  }
  public void setSubscribe(int subscribe) {
    this.subscribe = subscribe;
  }
  public String getSubscribeTime() {
    return subscribeTime;
  }
  public void setSubscribeTime(String subscribeTime) {
    this.subscribeTime = subscribeTime;
  }
  public String getNickname() {
    return nickname;
  }
  public void setNickname(String nickname) {
    this.nickname = nickname;
  }
  public int getSex() {
    return sex;
  }
  public void setSex(int sex) {
    this.sex = sex;
  }
  public String getCountry() {
    return country;
  }
  public void setCountry(String country) {
    this.country = country;
  }
  public String getProvince() {
    return province;
  }
  public void setProvince(String province) {
    this.province = province;
  }
  public String getCity() {
    return city;
  }
  public void setCity(String city) {
    this.city = city;
  }
  public String getLanguage() {
    return language;
  }
  public void setLanguage(String language) {
    this.language = language;
  }
  public String getHeadImgUrl() {
    return headImgUrl;
  }
  public void setHeadImgUrl(String headImgUrl) {
    this.headImgUrl = headImgUrl;
  }
}

我们先来看看获取用户信息的接口:

https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

根据分析,获取用户的基本信息需要一个token。

package com.souvc.weixin.pojo;
/**
* 类名: Token </br>
* 描述: 凭证 </br>
* 开发人员: souvc </br>
* 创建时间: 2015-11-27 </br>
* 发布版本:V1.0 </br>
 */
public class Token {
  // 接口访问凭证
  private String accessToken;
  // 凭证有效期,单位:秒
  private int expiresIn;
  public String getAccessToken() {
    return accessToken;
  }
  public void setAccessToken(String accessToken) {
    this.accessToken = accessToken;
  }
  public int getExpiresIn() {
    return expiresIn;
  }
  public void setExpiresIn(int expiresIn) {
    this.expiresIn = expiresIn;
  }
}

https请求,需要的信任管理器

package com.souvc.weixin.util;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import javax.net.ssl.X509TrustManager;
/**
* 类名: MyX509TrustManager </br>
* 描述:信任管理器 </br>
* 开发人员: souvc </br>
* 创建时间: 2015-11-27 </br>
* 发布版本:V1.0 </br>
 */
public class MyX509TrustManager implements X509TrustManager {
  // 检查客户端证书
  public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
  }
  // 检查服务器端证书
  public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
  }
  // 返回受信任的X509证书数组
  public X509Certificate[] getAcceptedIssuers() {
    return null;
  }
}

封装了一个公共类:

package com.souvc.weixin.util;
import java.io.BufferedReader



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 推荐10款服务端接收源码(收藏)
  • C#微信开发之旅:基础类之HttpClientHelper(更新:SSL安全策略)
  • 推荐10款tan源码(收藏)
  • 实现类似微信中说话功能的录音处理代码实例
  • 微信公众号主动推送消息的实现
  • 有关摇一摇抽奖的文章推荐
  • 微信开发中详解textarea的使用方法
  • 郑州微信小程序开发培训之开发语言
  • 微信红包实现原理猜想
  • Native是什么?Native用法总结

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • PHP微信开发之查询微信的示例代码
    • 关于左滑删除的详细介绍
    • 三招教你怎样实现微信礼物打赏功能 (代码全)
    • 微信公众号开发--解析CreateTime
    • 微信二次开发之文本消息请求与发送
    • 《微信公众平台入门到精通》Vol.1
    • Mocha与chai的使用
    • 微信开发之生命周期函数的实例教程
    • 微信开发之接收文本消息的接口和参数
    • php微信公众号开发 php实现自定义关键字回复

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有