Evernote沙箱环境下supportLinkedSandbox参数限制单笔记本访问无效问题排查
supportLinkedSandbox=true参数无效的问题 我来帮你梳理下这个参数失效的常见原因,结合我之前处理Evernote OAuth授权的经验,你可以逐一排查:
参数传递格式错误:你提供的请求链接里用了
&来分隔参数,这是HTML转义后的字符。如果这是你实际发送的请求内容(而非HTML页面里的代码),那么Evernote服务器会把&supportLinkedSandbox=true识别成一个错误的参数名,而非正确的supportLinkedSandbox参数。你需要确保参数分隔符是纯&,正确的参数段应该是&preferRegistration=true&supportLinkedSandbox=true。沙箱账号未创建Linked Sandbox笔记本:
supportLinkedSandbox=true的作用是限制应用仅访问用户已有的Linked Sandbox笔记本,如果你的沙箱测试账号里还没有创建这类笔记本,这个参数就不会触发限制逻辑。你需要先登录沙箱版Evernote,手动创建一个Linked Sandbox笔记本后再进行授权测试。应用权限未正确配置:登录Evernote开发者控制台,检查你的应用权限设置。确保你已经开启了与Linked Notebook相关的权限,并且应用类型(比如客户端/服务器端)的配置符合Linked Sandbox机制的要求。如果权限未开启,服务器会忽略这个限制参数。
沙箱环境的API版本兼容问题:这个参数是针对特定版本的Evernote API设计的,如果你的请求没有指定正确的API版本,可能会导致参数不被识别。你可以在请求链接中添加
&api_version=1.2(或更高的兼容版本)来尝试解决。
内容的提问来源于stack exchange,提问作者Andrey Kuzmenko

