首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于创建新任务的asana javascript bookmarklet

用于创建新任务的asana javascript bookmarklet
EN

Stack Overflow用户
提问于 2013-09-09 12:45:13
回答 2查看 514关注 0票数 1

我正在尝试组合一个书签小程序,它可以接受当前页面的URL、标题以及任何选定的文本,然后通过API将其作为新任务发布到Asana。

我已经为它们创建了一个特定的项目,捕获了project id,并确定了workspace id。在命令行上使用curl测试这些值效果很好:

代码语言:javascript
复制
curl --user MYAPIKEY: https://app.asana.com/api/1.0/workspaces/MYWORKSPACEID/tasks --data-urlencode 'name=Hello World' --data-urlencode 'notes=How are you' --data-urlencode 'projects[0]=MYPROJECTID'

借用其他示例javascript bookmarklet,我已经将以下代码组合在一起:

代码语言:javascript
复制
javascript:
apikeyhash='MYBASE64ENCODEDAPIKEYPLUSCOLON';
workspaceid='MYWORKSPACEID';
projectid='MYPROJECTID';
title=document.title;
loc=location.href;
if(document.getSelection) { 
  text=location+'\r\r'+document.getSelection(); }
else {
  text=location;
}
xml = new XMLHttpRequest();
xml.open('POST', 'https://app.asana.com/api/1.0/workspaces/'+workspaceid+'/tasks', false);
xml.setRequestHeader("Authorization", 'Basic '+apikeyhash);
xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xml.send('name='+encodeURIComponent(title)+'&notes='+encodeURIComponent(text)+'&projects%5B0%5D='+projectid);
alert(xml.responseText);

(其中MYBASE64ENCODEDAPIKEYPLUSCOLON是来自: echo -n 'MYAPIKEY:‘| openssl enc -base64的输出)

将其用作书签小程序(通过Safari中的书签栏访问)只会导致当前页面显示为刷新,并且不会向Asana添加任何内容。如果能帮助我修复javascript,我将不胜感激。

注意:我理想的解决方案是从Asana弹出快速添加任务对话框,并预先填充该表单(使用当前登录的Asana用户的凭据),但我不确定这是否可行。现在,能够快速地将网址、标题以及任何选定的文本作为新任务发送到Asana将是非常有用的。对于少数用户,使用每个用户的API密钥创建自定义bookmarklet是可以接受的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-09 20:28:50

我怀疑如果你在浏览器中检查javascript控制台,你会发现它拒绝了跨站点的请求。Asana API目前不支持CORS (尽管我们计划在未来支持),因此通常的规则适用:您只能向与当前网站相同的host:port发出请求。

票数 0
EN

Stack Overflow用户

发布于 2019-05-24 08:23:25

相关的,对于其他人,你可能知道,但是也有一个很好的Chrome扩展(但你必须将URL复制粘贴到任务中)。当然,使用Asana API自己构建东西也很酷!:)

此外,我还创建了一个小小的Asana Macbook Touch Bar按钮来快速创建任务,但这当然只有当你在Mac上时才会这样,而且它不会自动输入URL。当你处于某个时刻时,它更适合任何类型的任务:

视频:https://www.youtube.com/watch?v=K4tDfE_i1BQ

使用说明:https://github.com/danieliversen/asana-touchbar-helper

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18691610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档