云开发 /getOpenData # cloudbase.getOpenData > 本接口应在服务器端调用,详细说明参见[服务端API](https://developers.weixin.qq.com/miniprogram/dev/framework/server-ability/backend-api.html)。 > 本接口支持[云调用](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html)。需开发者工具版本 >= `1.02.1904090`(最新[稳定版下载](https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html)),`wx-server-sdk` >= `0.4.0` 换取 cloudID 对应的开放数据 调用方式: - [HTTPS 调用](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/cloudbase/cloudbase.getOpenData.html#method-http) - [云调用](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/cloudbase/cloudbase.getOpenData.html#method-cloud) ## HTTPS 调用 ### 请求地址 ```text POST https://api.weixin.qq.com/wxa/getopendata?openid=OPENID&access_token=TOKEN ``` ### 请求参数 | 属性 | 类型 | 默认值 | 必填 | 说明 | | :------------------------------------ | :------------- | :----- | :--- | :----------------------------------------------------------- | | openid | string | | 是 | 用户唯一标识符 | | access_token / cloudbase_access_token | string | | 是 | [接口调用凭证](https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/access-token/auth.getAccessToken.html) | | cloudid_list | Array.<string> | | 是 | CloudID 列表 | ### 返回值 ### Object 返回的 JSON 数据包 | 属性 | 类型 | 说明 | | :-------- | :------------- | :----------- | | errcode | number | 错误码 | | errmsg | string | 错误信息 | | data_list | Array.<Object> | 开放数据列表 | **errcode 的合法值** | 值 | 说明 | 最低版本 | | :---- | :----------------------------- | :------- | | 0 | 请求成功 | | | -1 | 系统繁忙,此时请开发者稍候再试 | | | 40003 | openid无效 | | ### 请求数据示例 ```json { "cloudid_list": ["xxx"] } ``` ### 返回数据示例 假设获取了微信运动数据 ```json { "errcode": 0, "errmsg": "ok", "data_list": [{ "cloud_id": "xxx", "json": { "cloudID": "xxx", "data": { "stepInfoList": [{ "timestamp": 1603641600, "step": 1234 }] } } }] } ``` ## 云调用 > [云调用](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html)是微信云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 `wx-server-sdk` 使用。 ### 接口方法 ```js openapi.cloudbase.getOpenData ``` > 需在 `config.json` 中配置 `cloudbase.getOpenData` API 的权限,[详情](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html#usage-3) ### 请求参数 | 属性 | 类型 | 默认值 | 必填 | 说明 | | :---------- | :------------- | :----- | :--- | :------------- | | openid | string | | 是 | 用户唯一标识符 | | cloudidList | Array.<string> | | 是 | CloudID 列表 | ### 返回值 ### Object 返回的 JSON 数据包 | 属性 | 类型 | 说明 | | :------- | :------------- | :----------- | | errCode | number | 错误码 | | errMsg | string | 错误信息 | | dataList | Array.<Object> | 开放数据列表 | **errCode 的合法值** | 值 | 说明 | 最低版本 | | :--- | :--- | :------- | | 0 | 成功 | | ### 异常 ### Object 抛出的异常 | 属性 | 类型 | 说明 | | :------ | :----- | :------- | | errCode | number | 错误码 | | errMsg | string | 错误信息 | **errCode 的合法值** | 值 | 说明 | 最低版本 | | :---- | :----------------------------- | :------- | | -1 | 系统繁忙,此时请开发者稍候再试 | | | 40003 | openid无效 | | ### 请求数据示例 ```js const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, }) exports.main = async (event, context) => { try { const result = await cloud.openapi.cloudbase.getOpenData({ "cloudidList": [ "xxx" ] }) return result } catch (err) { return err } } ``` ### 返回数据示例 假设获取了微信运动数据 ```json { "errCode": 0, "errMsg": "openapi.cloudbase.getOpenData:ok", "dataList": [ { "json": { "cloudID": "xxx", "data": { "stepInfoList": [ { "timestamp": 1603641600, "step": 1234 } ] } }, "cloudId": "xxx" } ] } ```