当我们访问Asana API时,我们将Asana node client v0.15.0与Tampermonkey脚本一起使用。 Api正在使用 401(未授权)进行响应。
这一天工作了几天。我尝试了新的个人访问令牌,但仍然得到相同的错误。 在摆弄请求时,我尝试将auth-header Bearer 更改为更低的。
Authorization: Bearer my-personal-access-token
- >
Authorization: bearer my-personal-access-token
。
这似乎工作得很好,这表明在Asana方面发生了一些变化。
node-asana js client lib不允许我在将请求发送到Asana API之前修改请求。
根据Asana API support,我应该在stackoverflow上询问有关此问题的帮助。
修改
通过进一步的调查,似乎我们发送了cookie
auth_token=My auth token
我们收到401错误。但是如果删除cookie并在fiddler中重新发出请求它就可以了。
另一个注意事项是,现在我们在例如https://app.asana.com/api/1.0/tasks/TaskId
的回复中没有获得任何 custom_fields答案 0 :(得分:3)
我是Asana的开发者倡导者。你已经发现了一个已知问题,我们正在努力修复:)我们正在推出a new version of our API。它旨在向后兼容旧的实现,但为我们提供多种形式的身份验证是我们在两者之间做一些不同的事情之一。
出于安全考虑,我们最初在新版本中实现了此功能,不允许使用多种身份验证形式的请求,但事实证明,浏览器内集成的影响正是您所看到的:登录Asana,这会导致您的浏览器自动将请求的授权凭据发送到asana.com
,并且还会通过OAuth或个人访问令牌为我们的API授予“正确的方法”,最终会破坏。我们正在开发一个修复程序,当登录(cookie)用户和API(访问令牌)用户都相同时,它将适用于这种情况。
如果这是一个紧急问题,并且您希望在我们在较新的API实现中推出修复时强制执行旧行为,则可以按照该链接中的描述设置标头 - ^以强制您的请求旧的API。但是,一旦我们完全部署并稳定了新的API,我们将弃用该标头,因此请谨慎依赖它以获得长期解决方案。
很抱歉,这给您带来了问题,感谢您创建此问题以便让我们知道!