HTTP / 1.1 401未经授权的Asana API

时间:2014-10-25 18:14:34

标签: asana

问题:我无法授权我与ASANA的关联。

将我的代码分解为简单的位。我使用:http://onlinecurl.com/来模仿我在

看到的内容
https://asana.com/developers/documentation/getting-started/authentication#sts=API%20Keys

这是我的命令。

curl --user 'NWE2MDJqUloubnpCUjh0d3gxVmYydW5BeFlJUER0Smw6' https://app.asana.com/api/1.0/users/me

原文:5a602jRZ.nzBR8twx1Vf2unAxYIPDtJl

我甚至使用https://www.base64encode.org/来确保我的base64是正确的,它就是这样。

响应标题

1 HTTP/1.1 401 Unauthorized
2 Server: nginx
3 Date: Sat, 25 Oct 2014 17:58:23 GMT
4 Content-Type: application/json; charset=UTF-8
5 Transfer-Encoding: chunked
6 Connection: keep-alive
7 X-Asana-Content-String-Length: 41
8 Pragma: no-cache
9 Set-Cookie: TooBusyRedirectCount=0
10 Cache-Control: no-store
11 X-Asana-Preferred-Release-Revision: 20141024_201328_7ebcb21240775f3d5e6038b42ade419530485b76
12 X-Robots-Tag: none

回应机构

1{"errors":[{"message":"Not Authorized"}]}

如何使用我的授权???

连接到服务

自写这篇文章以来,我已经重置了我的aPIKEY

2 个答案:

答案 0 :(得分:1)

您不需要自己对用户名进行base64编码,curl会为您执行此操作。另外,请注意在公共论坛上分享您的API密钥;这些是敏感的凭据,应该被视为用户名和密码!如果这是一个真正的API密钥,我建议你立即重置它(你可以通过你发现它的UI来完成)。

答案 1 :(得分:0)

需要有一个内容标题 这是我在Google Scripts中所做的。

在网站中:http://onlinecurl.com/ 我们需要在内容类型

的标题中添加一个额外选项
function getTasksFromAsana() {
  api_key = "XXXX";
  workspace_id = "WORKSPACE-ID";

  // set up HTTPS connection
  uri = "https://app.asana.com/api/1.0/users/me";

  // set up the request
  req={};
  req = {
    "headers":{ 'content-type': 'application/json','authorization': 'Basic ' + api_key }
  }



  Logger.log('Get Tasks Asana');

  var response = UrlFetchApp.fetch(uri,req);

  Logger.log(response.getContentText());
}