问题描述
我正在尝试使用Postman测试Synology API。但是到目前为止,我还无法使用“ sid”。我可以验证并收到一个“ sid”,但是任何使用它的请求都返回403。
DSM版本-DSM 6.2.3-25426更新2
验证
/webapi/auth.cgi?api=SYNO.API.Auth&version=3&method=login&account={account}&passwd={password}&session=FileStation&format=sid
我在回复中复制了“ sid”。
信息
/webapi/FileStation/entry.cgi?api=SYNO.FileStation.Info&version=1&_sid={sid}
这将返回403。我对“ sid”的任何请求均失败。我也尝试使用format=cookie
选项,但结果相同。
是否想知道您是否知道一些可以将我引向正确方向的东西?
解决方法
我已经弄清楚了为什么它不起作用(存在相同的问题),在您请求FileStation信息时,您正在向/webapi/FileStation/entry.cgi
发送请求,但实际上应该是/webapi/entry.cgi
,因此完整的请求将为/webapi/entry.cgi?api=SYNO.FileStation.Info&version=1&_sid={sid}
当您向/webapi/query.cgi?api=SYNO.API.Info&version=1&method=query&query=SYNO.FileStation.Info
发出请求时,您会看到这是正确的路径,因为该路径表示它是entry.cgi
。该API文档肯定会引起误解,如果对其进行了更新将是很好的。