收藏
回答

如何在云函数中调用第3方rest api?

大家好,我在云函数中需要调用一个外部第3方的restful api来处理一些数据。

代码已经写好,本地云函数测试时是没有问题的,第3方服务上可以收到云函数过来的请求。

但是奇怪的是,当我关闭本地云函数调试,然后完成该云函数的上传后(创建并部署:云端安装依赖),本地模拟器上点击按钮想再次出发这个云函数的调用,就没法成功了。

通过日志工具看到是因为超时,是不是与这个第3方服务器在海外有关系?

UPDATE:

已经在云函数配置中将超时改成60秒了,还是失败。。微信小程序开发真是nb。。。搞完这次项目,再也tm不干小程序开发了。。


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

2 个回答

  • 老张
    老张
    2021-06-22

    用的哪个npm包?代码隐密贴一下。

    2021-06-22
    有用
    回复 7
    • May
      May
      2021-06-22
      用的是 node-fetch.
      2021-06-22
      回复
    • 老张
      老张
      2021-06-23回复May
      rest api先用浏览器get一下,通过了,说明不存在海外服务器不能访问的问题。
      2021-06-23
      回复
    • 老张
      老张
      2021-06-23回复May
      我们天天都必须访问海外第三方。云函数访问海外第三方服务器,基本都会超过3秒。
      2021-06-23
      1
      回复
    • May
      May
      2021-06-23回复老张
      浏览器怎么get?
      2021-06-23
      回复
    • May
      May
      2021-06-23回复老张
      我这个是put,不是get,不能用这个方法来验证吧?
      {"message": "The method is not allowed for the requested URL."}
      2021-06-23
      回复
    查看更多(2)
  • 拾忆
    拾忆
    2021-06-22

    超时了,你可以试试把云函数的超时时间设置久一点,默认是3秒。

    2021-06-22
    有用
    回复 7
    • May
      May
      2021-06-22
      谢谢朋友,试过了,我在云函数配置中把超时时间配置成了10秒,还是挂了,感觉压根就被到10秒日志就显示超时了。
      2021-06-22
      回复
    • 拾忆
      拾忆
      2021-06-22回复May
      本地调试是你的电脑运行云函数去访问第三方,关闭调试是从腾讯服务器去访问,所以有可能海外的服务器腾讯访问不了,还有就是你设置了10秒,提示还是3秒超时,那可能是哪里没设置对,或者没重新部署。
      2021-06-22
      回复
    • May
      May
      2021-06-22
      我理解在云函数中调用外部rest api应该是可行的,对吗?不需要在微信小程序平台上报备这个api的吧?
      2021-06-22
      回复
    • 拾忆
      拾忆
      2021-06-22回复May
      是的,云函数可以请求任何公网能访问到的api,当然如果公网访问不了就没办法了。
      2021-06-22
      回复
    • May
      May
      2021-06-22回复拾忆
      重新部署了,现在报错不是3秒了已经。
      2021-06-22
      回复
    查看更多(2)
登录 后发表内容