问题标签 [asana-connect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
158 浏览

asana - AsanaAPI 只获取我所属的团队

使用端点/organizations/organization-id/teams可以获取所有团队的列表......但是如果我只想要 asana-connect 用户所属的团队怎么办?

我可以将其与第二次通话结合起来,/teams/team-id/members但有没有办法让团队在哪里members_contains="me"或什么地方?

0 投票
1 回答
98 浏览

asana - ASANA API - 只获取与我相关的项目

当您查询时,/projects我得到了组织中的每个项目(很多)......无论如何,只有得到我感兴趣的项目(即分配给我的任务,提到我,或者我标记为以下的项目? )

我也试过

0 投票
2 回答
646 浏览

javascript - 使用外部数据创建 Asana 任务

我无法使用外部数据创建体式任务。我可以很好地创建任务,但我无法弄清楚鸡尾酒是什么才能使用文档中提到的“外部”数据。

上面的代码导致 500 错误请求。

我也尝试过发送外部字符串化,这会导致错误“请求没有匹配的路由”。

如果我从数据中删除“外部”,上面的代码可以完美运行。

我将是第一个说我通常不调用 API 的人,所以我觉得我一定是在做一些愚蠢的事情。任何帮助表示赞赏!

更新:

我能够通过传入外部来创建任务:

但是,我没有看到我生成的外部数据,所以还有一些事情正在发生。

更新(2):

如果我运行下面的代码,我将收到 500 服务器错误。如果我注释掉数据中的“外部”部分,则任务会正确添加。

0 投票
1 回答
94 浏览

asana - 获取有关体式中最新创建和完成的任务的信息

如果所有用户的未完成任务都使用 asana API,我需要维护列表。

现在,我想出的最佳解决方案是每 X 分钟轮询一次体式并/taskscompleted_since过滤器一起使用。然而,这是低效的,因为我必须为每个工作区执行一次调用。

我尝试的下一件事是研究/eventsAPI,但仅为项目和任务生成事件。我有大约 25 个项目,所以它也不是最好的解决方案。

有什么方法可以有效地检查更新吗?

谢谢。

0 投票
1 回答
955 浏览

node.js - 如何使用 Asana 节点客户端处理 OAuth access_token 过期?

使用 Asana 的 NodeJS 模块 ( https://github.com/Asana/node-asana ) 和 OAuth,我应该如何处理 access_token 的过期?客户端是否提供了一些我应该用来检测这一点的机制?它是否提供了我应该使用 refresh_token 获取新 access_token 的东西?我无法在文档中找到有关 refresh_token 的任何讨论。


我已经注册了我的应用程序,并且能够使用 Client.app.accessTokenFromCode API 成功获取凭据。像这样的东西:

我正在存储从此调用返回的整个凭据对象,然后使用这些凭据创建客户端。像这样的东西:

现在我已经有了一个使用从 Asana 返回的凭据(包括 access_token 和 refresh_token)初始化的客户端,我应该如何处理 access_token 的到期?我是否需要自己检查它是否仍然有效并使用刷新令牌请求新令牌?还是客户会自动为我处理?如果客户端处理它,我如何知道它何时获得新的访问令牌?

更新

阅读代码,如果访问令牌不再有效,客户端似乎将尝试使用刷新令牌。但是我没有看到任何可以挂钩的通知来发现有一个新的访问令牌。是否有推荐的策略来处理这个问题?

0 投票
1 回答
220 浏览

oauth-2.0 - 如何撤销 Asana OAuth 令牌?

将 Asana 的 NodeJS 模块 ( https://github.com/Asana/node-asana ) 与 OAuth 一起使用,我可以做些什么来撤销用户的访问权限和/或刷新令牌?

目前,当用户告诉我他们想与 Asana 断开连接时,我只是忘记了他们的令牌。但似乎也将这个词传递给 Asana 会更友好,这样他们就可以最终清理数据。

0 投票
1 回答
84 浏览

asana - 我可以更改 Asana API 应用程序的所有权吗?

我无意中使用我现在想停用的旧 Asana 帐户创建了一个应用程序。我想将应用程序的所有权(保持相同的客户端 ID)转移到我的实际活动帐户。有没有办法做到这一点?

我可以在我的活动帐户上创建一个新应用程序(具有新的客户端 ID),但我需要要求我的所有用户重新进行身份验证,我想避免这种情况。

0 投票
1 回答
148 浏览

php - 在 PHP 中检索团队内的任务

我正在尝试开发一个可以从 Asana 获取数据并生成自定义电子表格报告的 Web 应用程序。这个包装类非常有助于使事情变得简单。

但是,我很难编写代码来获得特定任务所属的团队。即使当我通过 Asana 的 Web 应用程序将数据导出为 JSON 时,“团队”也没有提及。据我了解,Asana 本身并不提供团队和任务之间的关联。如果我错了,请纠正我。

但是,如果我的结论是正确的,是否有我可以使用的解决方法?团队是我的数据渲染的重要组成部分,我需要将它们正确映射到我试图从 Asana 生成的报告中。我要生成的报告本质上是分层的。

  • 组织
    • 团队
      • 项目
        • 任务
          • 子任务

我可以做些什么来实现这种层次结构吗?我唯一卡住的地方是让项目在一个特定的团队下。

0 投票
2 回答
2126 浏览

python - 如何使用 Python 在 Asana 中创建包含任务的新项目?

我看到一些关于如何使用 API 创建任务的问题,但我想知道如何创建新项目。

每次我想创建一个新项目时,我都预先确定了如何创建一个新项目的格式。我有一些特定的任务,每个任务都有自己的子任务。现在我有一个关于 Asana 的模板,每次我想创建一个新项目时,我都会去那个项目并复制它并将其重命名为我当前的项目。

有人知道使用 Python 自动执行此操作的方法吗,这样我可以运行脚本并输入项目名称的详细信息,它会自动在 Asana 上创建一个新项目(如果我需要制作 5我可以一次列出所有项目名称并遍历所有项目)?

我知道你需要一个密钥,我有一个叫做 API_KEY 的东西,长度为 32 个字符。

补充:这是我在 Python 中用于访问 Asana 工作区中的所有任务和子任务的代码:

当我运行它时,我会得到标题中包含“模板”一词的项目的所有任务和子任务。那么,这就是阅读方式,如果我将所有这些都保存为 JSON 格式,那么每次我想创建一个新项目时,我都可以上传那个 JSON 并获得一个新项目吗?

0 投票
2 回答
1314 浏览

asana - 事件同步令牌(412 响应状态)

我正在使用 RestTemplate 对 asana 的 REST Api 进行 GET 调用。通过在我打电话时使用邮递员:

https://app.asana.com/api/1.0/events?resource=PROJECT_ID

我收到一条消息和一个同步令牌(同步令牌太旧需要更新时也是如此)。

通过使用 RestTemplate,当同步令牌太旧时\它是我第一次调用并且我需要一个同步令牌,我得到一个 412 响应“预测失败”。这也发生在邮递员中,但我正在处理新同步令牌的“错误”消息。

使用 RestTemplate 我得到的只是这个错误:

2015 年 8 月 6 日下午 3:56:55 org.springframework.web.client.RestTemplate handleResponseError 警告:获取请求 foPROJECT_ID21650756795165”导致 412(前提条件失败);调用线程“主”org.springframework.web.client 中的错误处理程序异常.HttpClientErrorException: 412 Precondition Failed at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:90) at org.springframework.web.client.RestTemplate.handleResponseError(RestTemplate.java:494) at org.springframework.web .client.RestTemplate.doExecute(RestTemplate.java:451) 在 org.springframework.web.client.RestTemplate.execute(RestTemplate.java:409) 在 org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:385 ) 在availo.worker.asana.MainTask.getEvents(MainTask.java:86) 在availo.worker.asana.MainTask.getProjects(MainTask.java:76) 在availo.worker.asana.MainTask.main(MainTask.java:115)

有什么建议么?

谢谢!