直到几天前,我正在开发的应用程序是直接通过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和urlencoded身份验证令牌是正确的,因为对api的所有其他请求都能正常工作。
最近有没有其他人遇到过这个问题?有任何想法吗?谢谢!
答案 0 :(得分:1)
问题最终是资源的网址不正确。 Corstiaan根据以下内容生成网址:
user_store.getPublicUserInfo('someusername').webApiUrlPrefix
并且不同用户的网址不同(Evernote服务中的每个分片都有多个用户,因此不同的用户可以使用不同的分片)。传入getPublicUserInfo的用户名不正确,因此webApiUrlPrefix指向不正确的分片,资源不存在,从而导致404。