直接通过web/http下载Evenote资源时出现404?

404 when downloading Evenote resources directly via web/http?

直到几天前,我正在开发的应用程序还可以按照此处的说明直接通过 http 下载 Evernote 资源:https://dev.evernote.com/doc/articles/resources.php#downloading

然而,它停止正常工作,经过一些调查后,我使用 Postman 来触发测试请求。这是要求:

POST /shard/s37/res/990ee009-fa0d-42cf-9d85-b13816af8c47 HTTP/1.1
Host: www.evernote.com
auth: S%3Ds84%3AU%3D8e847d%3AE%3D159c134s4e4%3AC%3D15269830808%3AP%3D185%3AA%3Dcstiaan84%3AV%3D2%3AH%3D16320957f0124a6bc1c53f526a04cdff
Cache-Control: no-cache
Postman-Token: a145643c-a626-e3e7-44f7-6ad5387f1df6
Content-Type: application/x-www-form-urlencoded

我知道 url 和 url 编码的身份验证令牌是正确的,因为对 api 的所有其他请求都可以正常工作。

最近还有其他人遇到过这个问题吗?有任何想法吗?谢谢!

问题最终是资源的 url 不正确。 Corstiaan 生成 url 基于:

user_store.getPublicUserInfo('someusername').webApiUrlPrefix

和url对于不同的用户是不同的(印象笔记服务中的每个分片都有一定数量的用户,所以不同的用户可以在不同的分片上)。传递给 getPublicUserInfo 的用户名不正确,因此 webApiUrlPrefix 指向不正确的分片,资源不存在,因此导致 404。