文档中心 > 云应用

用户OpenId获取方式

更新时间:2024/11/20 访问次数:1639

openId是平台基于当前用户账号、当前小游戏信息、当前客户端等多个信息生成的用户唯一标识,开发者可使用openId关联各自的用户帐号体系。同个用户不同游戏的openId不同。

前置条件:开发者需要先进行域名白名单的配置,纯前端的游戏无法获取openid,具体详见:开发小游戏(服务端开发看)

获取openId的方式:openId可通过外部服务调用的上下文获取,接口从请求的url的param中获取openid;目前平台只支持用上述方式获取openid,不支持在服务端调用TOP接口获取。

一、服务端获取OpenId(推荐)

参考服务端openId获取方式

二、前端获取openId

前端可以通过请求自己的服务端时,由服务端将获取到的openId手动回塞,返回给前端。一般不建议前端获取openId。

async function test() {
  let result
  try {
    result = await cloud.application.httpRequest({
        //不需要完整域名,只需要接口访问路径即可; 该路径对应的服务端逻辑,需要在返回的response中塞入openId
        'path': '/welcome',
        'method': 'POST',
        //POST请求需要指定下请求格式,只支持application/json。 如:"content-type":"application/json;charset=UTF-8"
        'headers': { "Content-Type":"application/json;charset=UTF-8"},
        'params': {"name":"hanruo","action":"test"},
        'body': { "xftest":"hhh",  "id":"1234"},
        'exts': { 
          //cloudAppId为域名白名单配置后获取,在配置处查看具体参数
          "cloudAppId": "xxxx",
          // 单位ms
          "timeout": 4000,
          //调用需要填写该字段,包括协议头以及端口号(可省略),支持http、https
          "domain":"https://www.taobao.com"
        }
    });
  } catch (error) {
    console.log(error)
  }
--------- 执行云请求
test().then(res => {  console.log("openId",res) }

注意:如果你要在cocos中使用空应用的话,需要参考《Cocos/Laya引擎适配》文档的FAQ关于空应用的内容。

cloudAppId 获取位置如下:

FAQ

关于此文档暂时还没有FAQ
返回
顶部