DIYgod/RSSHub · warning · InvalidParameterError

仅限于采集站内订阅的看看号的图文及动态内容。这个ID可能是站外订阅。

Error message

仅限于采集站内订阅的看看号的图文及动态内容。这个ID可能是站外订阅。

What it means

After fetching dynamic content items for a coolapk DYH (订阅号 / subscription account) and running each through utils.parseDynamic, all results were falsy. parseDynamic returns undefined/null for item types it cannot handle (e.g., non-text/photo动态). The InvalidParameterError signals that either the DYH ID is for an out-of-network subscription, or all items are of unsupported types.

Source

Thrown at lib/routes/coolapk/dyh.ts:59

    const feedDescription = r.data.data.description;
    const response = await got(full_url, {
        headers: utils.getHeaders(),
    });
    const data = response.data.data;

    let out = await Promise.all(
        data.map((item) => {
            if (!targetTitle) {
                targetTitle = item.targetRow.title;
            }

            return utils.parseDynamic(item);
        })
    );

    out = out.filter(Boolean); // 去除空值
    if (out.length === 0) {
        throw new InvalidParameterError('仅限于采集站内订阅的看看号的图文及动态内容。这个ID可能是站外订阅。');
    }
    return {
        title: `酷安看看号-${targetTitle}`,
        link: `https://www.coolapk.com/dyh/${dyhId}`,
        description: feedDescription,
        item: out,
    };
}

View on GitHub (pinned to bed535e087)

Solutions

  1. Verify the dyhId corresponds to an in-platform subscription account by visiting https://www.coolapk.com/dyh/<id> in a browser.
  2. If the ID is correct, check utils.parseDynamic to see which dynamic types are supported and whether the types returned by the API have changed.
  3. Log the raw item.entityType or item.infoList values to identify unsupported types.
  4. Expand parseDynamic to handle the new item type if the API added new content formats.
Defensive patterns

Strategy: validation

Validate before calling

// Validate dyhId is numeric before making the API call
const dyhId = ctx.req.param('id');
if (!/^\d+$/.test(dyhId)) {
    throw new InvalidParameterError('DYH ID must be numeric');
}

Prevention

When it happens

Trigger: The coolapk API returns data for the dyhId, but every item passed to utils.parseDynamic returns falsy. This means the items are of dynamic types not covered by the parser (e.g., app recommendations, articles, or external links). The message specifically calls out that the ID may be an 'out-of-station subscription' (站外订阅).

Common situations: User provides a dyhId that belongs to an external/cross-site subscription rather than an in-platform content creator; the coolapk API changes its item type values, making all previously-supported types unrecognizable; the subscription account has only posted unsupported content types (e.g., only shared links).

Related errors


AI-assisted analysis of DIYgod/RSSHub@bed535e087 (2026-08-12). Data as JSON: /api/errors/41b3fc12c23fc904. Report an issue: GitHub.