var CryptoJS = require("crypto-js"); const axios = require('axios'); function decryptPrivityKey(message) { var encrypted = message; var key = process.env.DENET_CRYPT_KEY var iv = process.env.DENET_CRYPT_IV if (!key || !iv) { console.error('decryptPrivityKey key or iv is empty?'); return null; } console.log('encrypted=', encrypted); key = CryptoJS.enc.Utf8.parse(key); iv = CryptoJS.enc.Utf8.parse(iv) var decrypted = CryptoJS.AES.decrypt(encrypted , key , { iv: iv, mode: CryptoJS.mode.CBC } ); console.log('decrypted decrypt ==', decrypted); var de_pk = decrypted.toString(CryptoJS.enc.Utf8); console.log('decrypted==', de_pk); return de_pk } // decryptPrivityKey('bnUvrSKmU3l7zONP+hIH1BOMhNVfIBUgEziWb2tGiUgn63FZVdzXC9E1DT+Mx3B+nqrzUAqd60I/8rLobYYl+0TSR3Ri1o0iX/hcxqs/0yg=') const getFeishuToken = async (params) => { return new Promise(resolve => { axios.post('https://open.feishu.cn/open-apis/auth/v3/app_access_token/internal', { app_id: "cli_a223f015abbad00e", app_secret: "DMCF6tBwIpeOQPnWrFUMYd6tmjb53C4n" }, { timeout: 1 * 60 * 1000, headers: { 'Content-Type': "application/json; charset=utf-8" } }) .then(res => { console.log('res=>', res.status, res.data); resolve(res.data) }).catch(err => { logger.error('http_request_post withdraw_czz error ', JSON.stringify(err)); resolve(JSON.stringify(err)) }); }) } function writeTable(app_token) { var body = { 'valueRanges': [ { 'range': '072d4e!A1:B1', 'values': [ ['2022/06/15 11:43:23', 1], ] } ] } return new Promise(resolve => { axios.post('https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/shtcnsS7N9KS6pVUvR9qvj8mYpb/values_batch_update', body, { timeout: 1 * 60 * 1000, headers: { 'Content-Type': "application/json; charset=utf-8", 'Authorization': 'Bearer ' + app_token } }) .then(res => { console.log('res=>', res.status, res.data); resolve(res.data) }).catch(err => { console.error('error ', JSON.stringify(err)); resolve(JSON.stringify(err)) }); }) } async function insertTableRows(app_token) { var body = { dimension: { sheetId: '072d4e', majorDimension: 'ROWS', startIndex: 0, endIndex: 1, }, inheritStyle: 'AFTER' } return new Promise(resolve => { axios.post('https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/shtcnsS7N9KS6pVUvR9qvj8mYpb/insert_dimension_range', JSON.stringify(body), { timeout: 1 * 60 * 1000, headers: { 'Content-Type': "application/json; charset=utf-8", 'Authorization': 'Bearer ' + app_token } }) .then(res => { console.log('res=>', res.status, res.data); resolve(res.data) }).catch(err => { console.error('error ', JSON.stringify(err)); resolve(JSON.stringify(err)) }); }) } async function exec() { var app = await getFeishuToken() await insertTableRows(app.app_access_token) await writeTable(app.app_access_token) } exec()