收藏
回答

send subscribeMessage.send 报errCode: -501007?

订阅消息 /subscribeMessage.send ,采用 云调用方式。openapi.subscribeMessage.send
j技术场景:在node环境里,调起云函数,去发送消息给已经订阅了的用户,报501007错误。 

详见代码:
node-test.js
const tcb = require('@cloudbase/node-sdk');

const app = tcb.init({
    secretId: "*****",
    secretKey: "*****",
    env: "*****"
});
sendmessagenw()
async function sendmessagenw() {
    const res = await app.callFunction({
        name: 'send-message',
    })
    console.log(res) 
}

x下图云函数内容,就直接抄官方的demo


运行node文件后,报501007错误,是不是在node里调起 发订阅消息给用,只能采用 http方式?



最后一次编辑于  2021-08-28
回答关注问题邀请回答
收藏

3 个回答

  • 见龙在田
    见龙在田
    2022-03-16

    我也遇到同类问题,就是在一个带trigger的云函数中,调用另外一个云函数,该云函数主要就是调用cloud.openapi.subscribeMessage.send,然后出现-504002错误,有点莫名其妙

    errCode": -504002,

    "errMsg": "callFunction:fail -504002 functions execute fail. requestID t_1647352800638_12041-17f8de0ebd5_2, TypeError: Do not know how to serialize a BigInt\n at JSON.stringify (<anonymous>)\n at callback (/var/runtime/node12/CallbackContext.js:31:23)\n at /var/runtime/node12/CallbackContext.js:81:16\n at /var/runtime/node12/Runtime.engine.js:237:13\n at processTicksAndRejections (internal/process/task_queues.js:97:5)"

    }

    2022-03-16
    有用
    回复
  • 老张
    老张
    2021-08-28

    1、先在同一环境中调试:云函数A调用云函数B,(直接调用)

    2、在同一环境中调试:云函数A调用云函数B,(TCB模式调用)

    3、跨环境TCB调用。

    一步步排查。

    2021-08-28
    有用
    回复 1
    • 卡普
      卡普
      2021-08-28
      在小程序里,出发这个给用户发消息的云函数,,用户可以收到消息。。。放到node环境下,去调用云函数就不行了。  好像就是官方的限制吧
      2021-08-28
      回复
  • 老愫
    老愫
    发表于移动端
    2021-08-28
    M2
    2021-08-28
    有用
    回复 1
    • 卡普
      卡普
      2021-08-28
      ?
      2021-08-28
      回复
登录 后发表内容