热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

支付宝小程序如何获取会员信息

本篇内容介绍了“支付宝小程序如何获取会员信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习

本篇内容介绍了“支付宝小程序如何获取会员信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

开发者可以通过国际标准的OAuth3.0授权机制,在用户授权的情况下,得到用于换取用户信息的令牌。在拿到用户的授权令牌后,通过调用用户信息共享接口,获取用户的公开信息。

1.1 准入条件

小程序开发者均可使用。

1.2 计费模式

不收费。

1.3 案例

步骤一:用户首次进入小程序首页,若无进行业务交互,则无需唤起会员授权

步骤二:当需要访问用户时,以弹框的形式确认授权(静默授权不弹窗)。建议:用户授权放在需要展示用户相关信息的环节,请勿一开始就引导授权。 

步骤三:用户确认授权后,可以在该小程序的会员中心查看会员信息,授权完成。 

2. 接入指引

2.1 添加“获取会员信息”功能

在小程序详情页的功能列表中添加“获取会员信息”。

2.2 客户端获取authcode

my.getAuthCode({

  scopes: 'auth_user', // 主动授权:auth_user,静默授权:auth_base

  success: (res) => {

    if (res.authCode) {

      // 认证成功

      // 调用自己的服务端接口,让服务端进行后端的授权认证,并且种session,需要解决跨域问题

      my.httpRequest({

        url: 'http://isv.com/auth', // 该url是自己的服务地址,实现的功能是服务端拿到authcode去开放平台进行token验证

        data: {

          authcode: res.authcode

        },

        success: () => {

          // 授权成功并且服务器端登录成功

        },

        fail: () => {

          // 根据自己的业务场景来进行错误处理

        },

      });

    }

  },

});

2.3 服务端获取access_token

服务器端调用alipay.system.oauth.token接口换取授权访问令牌,开发者可通过获取到的auth_code换取access_token和用户ID。auth_code作为换取access_token的票据,每次用户授权完成,回调地址中的auth_code将不一样,auth_code只能使用一次,一天未被使用自动过期。具体可参见文档alipay.system.oauth.token。 开放平台服务端SDK的java调用示例如下:

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");

AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();

request.setGrantType("authorization_code");

request.setCode("4b203fe6c11548bcabd8da5bb087a83b");

request.setRefreshToken("201208134b203fe6c11548bcabd8da5bb087a83b");

AlipaySystemOauthTokenResponse respOnse= alipayClient.execute(request);

if(response.isSuccess()){

System.out.println("调用成功");

} else {

System.out.println("调用失败");

}

认证成功 把uid&token种到session中,在session有效期内就不需要每次都走授权平台进行验证。

认证失败 则返回失败原因,需要再重新走授权流程。

注意 如果仅是为了授权或获取用户ID,那么到此授权结束。

2.4 服务端获取会员信息

如果服务端要获取用户信息,那么不仅需要完成以上步骤——客户端获取authCode、authCode换取token,还需要token换取用户信息,该步骤需使用接口:alipay.user.info.share。

注意: 服务端获取的用户信息进行落库,jsapi获取的用户信息用来界面展示,不建议把前端获取到用户信息透传给服务端。 代码以java示例

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");

AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest();

AlipayUserInfoShareResponse respOnse= alipayClient.execute(request,accessToken);

if(response.isSuccess()){

System.out.println("调用成功");

} else {

System.out.println("调用失败");

}

2.5 客户端获取会员信息

前端通过 my.getAuthUserInfo 接口获得的用户信息主要是用来进行界面展示,如果想在数据库存储,请用上面步骤,服务器端接口调用流程进行获取用户信息。

my.getAuthCode({

  scopes: 'auth_user',

  success: (res) => {

    my.getAuthUserInfo({

      success: ({ nickName, avatar }) => {

        console.log({ nickName, avatar })

      }

    });

  },

});

返回字段:nickName, avatar

3. API列表

接口名称 描述

my.getAuthCode 获取用户授权码

alipay.system.oauth.token 换取授权访问令牌

alipay.user.info.share 服务端获取会员信息

my.getAuthUserInfo 客户端获取会员信息

4. 补充说明

服务端获取不到会员信息

原因1:涉及到敏感信息如真实姓名、手机号、证件号等,这些敏感信息不会返回

原因2:调用的接口错误,请使用接口:alipay.user.info.share

获取会员信息,服务端报 isv.invalid-token 无效 token

原因1:获取授权码scope 必须传 auth_user

原因2:调用的接口错误,请使用接口:alipay.user.info.share

“支付宝小程序如何获取会员信息”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程笔记网站,小编将为大家输出更多高质量的实用文章!


推荐阅读
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 本文介绍了在Mac上安装Xamarin并使用Windows上的VS开发iOS app的方法,包括所需的安装环境和软件,以及使用Xamarin.iOS进行开发的步骤。通过这种方法,即使没有Mac或者安装苹果系统,程序员们也能轻松开发iOS app。 ... [详细]
  • 图像因存在错误而无法显示 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
author-avatar
杜甜甜Athena15
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有