{"record":{"id":"41b3fc12c23fc904","repo":"DIYgod/RSSHub","slug":"id-41b3fc","errorCode":null,"errorMessage":"仅限于采集站内订阅的看看号的图文及动态内容。这个ID可能是站外订阅。","messagePattern":"仅限于采集站内订阅的看看号的图文及动态内容。这个ID可能是站外订阅。","errorType":"exception","errorClass":"InvalidParameterError","httpStatus":null,"severity":"warning","filePath":"lib/routes/coolapk/dyh.ts","lineNumber":59,"sourceCode":"    const feedDescription = r.data.data.description;\n    const response = await got(full_url, {\n        headers: utils.getHeaders(),\n    });\n    const data = response.data.data;\n\n    let out = await Promise.all(\n        data.map((item) => {\n            if (!targetTitle) {\n                targetTitle = item.targetRow.title;\n            }\n\n            return utils.parseDynamic(item);\n        })\n    );\n\n    out = out.filter(Boolean); // 去除空值\n    if (out.length === 0) {\n        throw new InvalidParameterError('仅限于采集站内订阅的看看号的图文及动态内容。这个ID可能是站外订阅。');\n    }\n    return {\n        title: `酷安看看号-${targetTitle}`,\n        link: `https://www.coolapk.com/dyh/${dyhId}`,\n        description: feedDescription,\n        item: out,\n    };\n}\n","sourceCodeStart":41,"sourceCodeEnd":68,"githubUrl":"https://github.com/DIYgod/RSSHub/blob/bed535e0879dc71c5aff6f1e7bd1ac21ede40115/lib/routes/coolapk/dyh.ts#L41-L68","documentation":"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.","triggerScenarios":"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' (站外订阅).","commonSituations":"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).","solutions":["Verify the dyhId corresponds to an in-platform subscription account by visiting https://www.coolapk.com/dyh/<id> in a browser.","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.","Log the raw item.entityType or item.infoList values to identify unsupported types.","Expand parseDynamic to handle the new item type if the API added new content formats."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Validate dyhId is numeric before making the API call\nconst dyhId = ctx.req.param('id');\nif (!/^\\d+$/.test(dyhId)) {\n    throw new InvalidParameterError('DYH ID must be numeric');\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Verify the dyhId is for an in-platform subscription by checking https://www.coolapk.com/dyh/<id> first.","Log the item types returned by the API when all parseDynamic results are falsy.","Keep utils.parseDynamic updated with new dynamic types as coolapk adds them."],"tags":["coolapk","validation","api-change","dynamic-content"],"backgroundTag":null,"analyzedSha":"bed535e0879dc71c5aff6f1e7bd1ac21ede40115","analyzedAt":"2026-08-12T19:29:35.364Z","schemaVersion":2},"datasetVersion":"2026-08-12T23:17:12.415Z"}