You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从feed-watcher的Medium订阅更新中提取链接发送到Discord频道

错误原因分析

  • 第一个SyntaxError: Unexpected token o in JSON at position 1报错的核心原因是:你拿到的entry本身已经是解析完成的JavaScript对象,不是JSON字符串,JSON.parse()仅支持传入JSON格式的字符串作为参数,传入对象时会默认将对象转为"[object Object]"字符串再解析,自然会触发语法错误。
  • 第二次尝试返回Link: [Function: link]是因为你用JSON.stringify()把entries数组转成了普通字符串,字符串的索引返回的是单个字符,不可能拿到link属性,这个返回结果大概率是变量名冲突导致的异常输出。

正确实现方式

你不需要做任何JSON序列化/反序列化操作,直接从entry对象上取对应字段即可,示例代码如下:

client.on('ready', () => {
  watcher.on('new entries', function (entries) {
    entries.forEach(function (entry) {
      // 直接读取对象属性
      const articleLink = entry.link
      const articleTitle = entry.title
      const author = entry.author
      
      console.log('提取到的文章链接:', articleLink)
      // 此处添加Discord消息发送逻辑即可
    })
  })
  watcher
  .start()
  .then(function (entries) {
    console.log('初始加载完成,历史文章数:', entries.length)
  })
  .catch(function(error) {
    console.error('订阅器运行出错:', error)
  })
})

如果要做兼容性适配,避免顶层link字段失效,可以补充兜底取原始RSS字段的逻辑:

const articleLink = entry?.link || entry?.['rss:link']?.['#']

内容的提问来源于stack exchange,提问作者RasmonT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 08:48:02