界面上找不到“API Key”,它就藏在 Create-a-Feed 的下载链接里
你想自动获取 Awin 商品 Feed,于是运行脚本。
脚本要求输入商品数据源的 API key。
好,那就登录 Awin,打开 Toolbox,再进入 Create-a-Feed。
然后你发现:根本没有一个显眼的 API Key。
没有巨大的“API Key”按钮。 没有“Credentials”框。 没有“Secret”字段。
你只看到商品数量、分类、Advertisers、Brands,以及“Feed List Download”。
正常人的第一反应当然是:
这谁能看懂。
更离谱的是,脚本提示写着“复制下载 URL 中 /apikey/ 后面的值”,但当前界面显示的 URL 里压根没有 /apikey/。
于是脑内事故会议立刻召开:
“是不是进错页面了?” “是不是权限不足?” “是不是另一套 API?” “这条超长 URL 又是什么?” “Node.js 怎么还来一个警告?” “是不是全坏了?”
答案是:没有。
Awin 的商品 Feed data feed API key 与普通 Partner API token 是两套不同的认证信息。Awin 官方文档也说明,商品 Feed 密钥可从 Create-a-Feed 生成的标准 Feed 下载中获取。而在 2026 年 10 月实际观察到的一种现行 UI 形式里,这个密钥并没有被标成“API Key”,而是直接嵌在 Feed List Download URL 的路径中。
这是寻宝游戏,只不过宝物是凭证。
0. 30秒版
只需要记住六点。
- Awin 的普通 Partner API 凭证和商品 Feed data feed API key 是两回事。
- 两者不能互换。
- Awin 官方说明商品 Feed 密钥可以从 Create-a-Feed 的标准 Feed 下载链接中获得。
- 官方示例采用 /apikey/KEY 形式。
- 但 2026 年 10 月这次实际看到的 Feed List Download URL 采用了另一种结构,密钥位于 publisher ID 后面的路径段。
- Node.js 的 DEP0190 不是 Awin 密钥错误,而是另一条独立警告。
所以不是“没有密钥”。
更像是密钥没有贴标签。
1. 实际发生了什么
自动配置脚本会只显示已注册秘密信息的名称,不显示值,然后逐项询问缺少的凭证。
普通 Awin API token 已经注册。
接下来它询问商品 Feed 密钥。
原来的提示逻辑是:
“Toolbox → Create-a-Feed → 查看下载 URL → 复制 /apikey/ 后面的内容。”
这不是凭空编的。
Awin 在 2026 年 8 月 31 日更新的 Product Feed List Download 官方文档中展示了 /apikey/KEY 形式,并说明 download API key 可从 Create-a-Feed 生成的标准 Feed 下载中获得。
同一文档还明确指出,该 data feed API key 与 Partner API 所使用的 API key 不同。
概念没错。
真正把人绕晕的是实际 UI 中的 URL 形式。
2. 文档说找 /apikey/,但 URL 里没有
去掉所有个人信息和真实密钥后,这次实际观察到的结构大致是:
https://ui.awin.com/productdata-darwin-download/publisher///1/feedList
看到了吗?
没有 /apikey/。
提示:“就在 /apikey/ 后面。”
现实:“这位 /apikey/ 今天没来上班。”
在这次观察到的 URL 中,路径顺序是:
publisher/ → publisher ID → data feed API key → 1/feedList
但需要注意,这只是 2026 年 10 月观察到的一种 UI 形式,不代表 Awin 以后永远不会再改 URL。
3. 真正容易混乱的是:有两套 API 凭证
Partner API 凭证
用于 Awin 普通 Partner API 的认证。
Product feed data key
用于商品数据 Feed 和 Feed 列表下载。
Awin 官方明确说明这两者不同。
所以如果你想:
“我不是已经配置 Awin API 令牌了吗,为什么还要一个 key?”
这是完全合理的问题。
因为确实还需要另一套。
如果命名能再拉开一点距离,人类会少掉很多无意义排错时间。
4. 现行界面该看哪里
以 2026 年 10 月这次观察到的界面为例:
- 登录 Awin。
- 打开 Toolbox → Create-a-Feed。
- 找到 Feed List Download。
- 确认链接确实属于 Awin 官方域名。
- 不要把完整 URL 粘贴到公开聊天、文章、Issue 或日志。
- 如果 URL 与这次观察到的结构相同,则 publisher// 后面的路径段就是 data feed key。
- 只把需要的秘密值粘贴到脚本的隐藏输入框。
- 输入时没有字符显示,也可能只是正常的密钥隐藏行为,按 Enter 继续即可。
第五点最重要。
超长 URL 一样可以包含凭证。
秘密夹在很多斜杠中间,也不会自动变成公开信息。
5. 那个突然冒出来的 DEP0190 又是什么
终端还可能在这时打印:
DEP0190: Passing args to a child process with shell option true...
时间点非常会制造误会。
你刚在处理 API 密钥,自然会以为这是认证失败。
但 Node.js 官方文档说明,DEP0190 是关于 execFile 或 spawn 在传入参数数组的同时使用 shell:true 的弃用警告。原因是参数不会被安全转义,可能造成 shell injection 风险。
所以:
这不是 Awin 认证错误。
当然,它仍然值得在脚本代码中单独修复,例如确认 shell:true 是否必要,以及用户输入是否会进入 shell 参数。
只是不要把它和“商品 Feed 密钥找不到”混成一个事故。
6. 真正该修的是提示逻辑,不是用户
解决方案不应该是“以后大家仔细读 URL”。
那种系统迟早还会出事。
更稳妥的设置助手应该:
- 能识别官方文档中的 /apikey/ 形式;
- 也能识别当前观察到的 productdata-darwin-download/publisher///... 形式;
- 不在屏幕上回显提取出的 key;
- 不记录包含凭证的完整 URL;
- 遇到未知结构时停止猜测;
- 一开始就说明 Product Feed key 与 Partner API token 是两种不同凭证。
这样才能从根上减少“是不是我走错页面了”的问题。
7. 总结
这件事第一次看不懂,有非常具体的结构原因:
- Awin 有两套类似的认证信息;
- 商品 Feed key 没有一个特别显眼的独立字段;
- 官方示例 URL 与当前 UI 的 URL 形式可能不同;
- 秘密值藏在超长 URL 中;
- Node.js 又在旁边输出了一条毫不相关的警告。
所以,没看懂并不奇怪。
下次只记住:
Product Feed key 不等于 Partner API token。去 Create-a-Feed 看下载 URL,但不要把某一种历史 URL 结构当成永远固定的规则。
以及最重要的:
别把含真实 key 的 URL 发到公开文章里。
找到 key 之后兴奋地复制全链接,往往才是最后一关。
Sources
- [1] Awin Help — Product Feed List Download, 2026-08-31: https://help.awin.com/developers/docs/product-feed-list-download
- [2] Awin Help — Downloading feeds using Create-a-Feed, 2026-08-31: https://help.awin.com/developers/docs/downloading-feeds-using-create-a-feed
- [3] Awin Help — Product Feed Publisher Guide Overview: https://help.awin.com/developers/docs/product-feed-publisher-guide-intro
- [4] Node.js documentation — DEP0190: https://nodejs.org/download/release/latest-jod/docs/api/deprecations.html
参考资料(4条)
- Awin Help — Product Feed List Download, 2026-08-31 help.awin.com
- Awin Help — Downloading feeds using Create-a-Feed, 2026-08-31 help.awin.com
- Awin Help — Product Feed Publisher Guide Overview help.awin.com
- Node.js documentation — DEP0190 nodejs.org

