第三方系统访问微搭低代码的后端API

微搭低代码使用的是文档型数据库,有时候会有数据集成的需求,将低代码的数据库中的数据抽取到第三方系统中。本篇就介绍一下本地抽取数据以及云函数中抽取数据

1 本地抽取数据

本地抽取数据我们以nodejs作为后端服务,本机要求先安装好nodejs。

然后在电脑上创建一个文件夹,并且创建一个index.js,使用vscode打开我们的工程目录
在这里插入图片描述
index的代码如下



const EnvId = ''; // 环境 ID,例如 lowcode-2gay8jgh25
const SecretId = '';
const SecretKey = '';

const Koa = require('koa');
const axios = require('axios'); 
const app = new Koa();

// 域名
const domain = `https://${
      
      EnvId}.ap-shanghai.tcb-api.tencentcloudapi.com`;

app.use(async (ctx) => {
    
      
    // 换取 AccessToken  
    console.log(domain)
    console.log(`Basic ${
      
      Buffer.from(`${ 
        SecretId}:${ 
        SecretKey}`).toString('base64')}`)
    const params = {
    
      
        grant_type: 'client_credentials'  
      };  
        
      const response=await axios.post(`${
      
      domain}/auth/v1/token/clientCredential`, params, {
    
      
        headers: {
    
      
          'Authorization': `Basic ${
      
      Buffer.from(`${ 
        SecretId}:${ 
        SecretKey}`).toString('base64')}`  
        }  
      })  

    console.log("response",response.data)
    const {
    
     data } = response;  
    const {
    
     access_token } = data;  
    console.log(access_token)
  
    // 请求某个服务端 API  
    const response2 = await axios.get(`${
      
      domain}/weda/odata/v1/prod/sys_user`, {
    
      
        headers: {
    
      
            "Authorization": `Bearer ${
      
      access_token}`  
        }  
    });  
  
    ctx.body = response2.data;  
});
app.listen(3000);

这里涉及到参数初始化的问题,首先获取我们的资源ID,打开控制台,找到资源ID
在这里插入图片描述
然后获取我们的密钥
在这里插入图片描述
然后安装好axios和koa

npm install koa
npm install axios

安装好之后我们在终端里输入

node index.js

启动服务,在postman里访问我们的接口,接口地址http://localhost:3000
在这里插入图片描述

2 云函数中抽取数据

云函数,可以使用腾讯云的SCF,我们以微搭的云函数作为示例
在这里插入图片描述
代码如下:

'use strict';
const axios = require('axios'); 
const EnvId = ''; // 环境 ID,例如 lowcode-2gay8jgh25
const SecretId = '';
const SecretKey = '';
const domain = `https://${
      
      EnvId}.ap-shanghai.tcb-api.tencentcloudapi.com`;
exports.main = async (event, context) => {
    
    
    const params = {
    
      
        grant_type: 'client_credentials'  
      };  
        
      const response=await axios.post(`${
      
      domain}/auth/v1/token/clientCredential`, params, {
    
      
        headers: {
    
      
          'Authorization': `Basic ${
      
      Buffer.from(`${ 
        SecretId}:${ 
        SecretKey}`).toString('base64')}`  
        }  
      })  

    console.log("response",response.data)
    const {
    
     data } = response;  
    const {
    
     access_token } = data;  
    console.log(access_token)
  
    // 请求某个服务端 API  
    const response2 = await axios.get(`${
      
      domain}/weda/odata/v1/prod/sys_user`, {
    
      
        headers: {
    
      
            "Authorization": `Bearer ${
      
      access_token}`  
        }  
    });  
    console.log(response2.data)
    return response2.data
};

我们在云上开发,需要编写package.json,代码如下

{
    
    
    "name": "app",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
    
    },
    "author": "",
    "license": "ISC",
    "dependencies": {
    
    
        "@cloudbase/node-sdk": "latest",
        "axios":"latest"
    }
}

点击保存并安装依赖,测试即可

总结

我们本篇介绍了集成微搭低代码后端API的两种方式,实际应用中根据需求自行选择即可。

猜你喜欢

转载自blog.csdn.net/u012877217/article/details/132535168