问题:我无法授权我与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
答案 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());
}