DIYgod/RSSHub · error · Error

接口错误,错误代码:${responseBody.code},错误原因:${responseBody.msg}

Error message

接口错误,错误代码:${responseBody.code},错误原因:${responseBody.msg}

What it means

Thrown when the Nowcoder campus recruitment schedule API (`www.nowcoder.com/school/schedule/data`) returns a non-zero `code`. The request includes `typeId` and `propertyId` parameters from the route path. This is an upstream API business error.

Source

Thrown at lib/routes/nowcoder/schedule.ts:37

        {
            source: ['nowcoder.com/'],
            target: '/schedule',
        },
    ],
    name: '校招日程',
    maintainers: ['junfengP'],
    handler,
    url: 'nowcoder.com/',
};

async function handler(ctx) {
    const propertyId = ctx.req.param('propertyId') ?? 0;
    const typeId = ctx.req.param('typeId') ?? 0;

    const link = `https://www.nowcoder.com/school/schedule/data?token=&query=&typeId=${typeId}&propertyId=${propertyId}&onlyFollow=false&_=${Date.now()}`;
    const responseBody = (await got(link)).data;
    if (responseBody.code !== 0) {
        throw new Error(`接口错误,错误代码:${responseBody.code},错误原因:${responseBody.msg}`);
    }
    const data = responseBody.data.companyList;

    return {
        title: '名企校招日程',
        link: 'https://www.nowcoder.com/school/schedule',
        description: '名企校招日程',
        item: data.map((item) => {
            let desc = `<tr><td><img src="${item.logo}"></td></tr>`;
            for (const each of item.schedules) {
                desc += `<tr><td>${each.content}</td><td>${each.time}</td></tr>`;
            }
            return {
                title: item.name,
                description: `<table>${desc}</table>`,
                pubDate: parseDate(item.createTime),
                link: `https://www.nowcoder.com/school/schedule/${item.id}`,
            };

View on GitHub (pinned to bed535e087)

Solutions

  1. Verify the typeId and propertyId values are valid by browsing nowcoder.com/school/schedule directly.
  2. Retry for transient upstream failures.
  3. If the API moved, update the URL on line 35 of `lib/routes/nowcoder/schedule.ts`.
  4. Inspect the raw API response in a browser.
Defensive patterns

Strategy: retry

Try / catch

try {
    const responseBody = (await got(link)).data;
    if (responseBody.code !== 0) {
        throw new Error(`接口错误,错误代码:${responseBody.code},错误原因:${responseBody.msg}`);
    }
} catch (e) {
    logger.error(`Nowcoder schedule API failed for typeId=${typeId}, propertyId=${propertyId}: ${e}`);
    throw e;
}

Prevention

When it happens

Trigger: Requesting the nowcoder schedule route with typeId/propertyId combinations that the upstream API rejects, or when the API is temporarily unavailable. The `token=` is hardcoded as empty.

Common situations: The typeId or propertyId values are invalid or no longer supported. The schedule API was restructured. The upstream returns an error due to maintenance or rate limiting.

Related errors


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