1

当我们访问 Asana API 时,我们使用的是Asana 节点客户端 v0.15.0和 Tampermonkey 脚本。Api 以401 (Unauthorized)响应。

这几天前奏效了。我已尝试使用新的个人访问令牌,但仍然遇到相同的错误。在摆弄请求时,我尝试将 auth-header Bearer更改为小写。

Authorization: Bearer my-personal-access-token-> Authorization: bearer my-personal-access-token

这似乎工作正常,这表明 Asana 方面发生了一些变化。

node-asana js 客户端库不允许我在将请求发送到 Asana API 之前对其进行修改。

根据Asana API 支持,我应该在 stackoverflow 上寻求有关此问题的帮助。

编辑

通过一些进一步的调查,似乎当我们发送 cookie 时, auth_token=My auth token我们确实收到了 401 错误。但是如果删除 cookie 并在 fiddler 中重新发出请求,它就可以正常工作。

另一个注意事项是,现在我们在来自例如https://app.asana.com/api/1.0/tasks/TaskId的响应中没有得到任何custom_fields

4

1 回答 1

3

我是 Asana 的开发者倡导者。您发现了一些已知问题,我们正在努力修复 :) 我们正在推出新版本的 API。它旨在与旧实现向后兼容,但为我们提供多种形式的身份验证是我们在两者之间做不同事情的情况之一。

出于安全考虑,我们最初在新版本中实现了这一点,不允许具有多种身份验证形式的请求,但事实证明,浏览器内集成的影响与您所看到的方式完全相同:登录到 Asana,这会导致您的浏览器自动发送请求的授权凭据asana.com,并且使用 OAuth 或个人访问令牌为我们的 API 授权“正确的方式”最终会中断。我们正在研究一个修复程序,以便在登录 (cookie) 用户和 API (访问令牌) 用户相同的情况下也能正常工作。

如果这是一个紧急问题,并且您希望在我们在较新的 API 实现中推出修复程序时强制执行旧行为,您可以按照该链接中所述设置标头 --^ 以强制您的请求发送到旧 API . 但是,一旦我们完全部署并稳定了新 API,我们将弃用该标头,因此请谨慎依赖它作为长期解决方案。

抱歉,这给您带来了问题,感谢您提出这个问题让我们知道!

于 2017-02-01T19:19:53.300 回答