【问题标题】:Hyperlink Mentions of Users in Stories故事中用户的超链接提及
【发布时间】:2014-04-20 15:22:47
【问题描述】:

我正在构建一个脚本,它将通知 hipchat 房间有关 Asana 中任务、cmets 等的更改。

我面临 3 个简单的问题,但我被困住了,我想也许你们中的一些人可以帮助我。

问题 #1: 我面临的问题是,当某人(用户)在评论中“提及或超链接”时,我会得到一个带有数字的随机 URL,我对用户 ID 或任何东西都无能为力。 也许有一个我没有看到的逻辑?

任务和项目的超链接是否相同? 能否请教一下网址的第一个数字和第二个数字是多少?

当我从 Asana API 获得故事时,请参阅下面的响应 [8] => 数组 ( [id] => 10976152589055 [created_at] => 2014-03-15T04:51:40.831Z [created_by] => 数组 ( [id] => 203288254516 [名称] => 胡安·马蒂吉 )

                [type] => comment
                [text] => https://app.asana.com/0/639593560275/639593560275Â testing.

https://app.asana.com/0/241863293563/241863293563 测试。 https://app.asana.com/0/591143197873/591143197873 测试。

[*] 这最后 3 个 URL 是提及用户!

我需要这个,所以我可以在通知中提到用户名。


问题 #2: 要查看哪些任务已更新.. 我检查“修改”时间戳,然后以简洁明了的方式将这些任务的所有故事发布到房间。 问题是如果我创建一个新任务......而不修改它......这不会创建一个“故事”,所以我的“通知”将是空的。有什么解决办法吗?

问题 #3: 有没有办法搜索最后一天工作区中所有修改的任务(无论用户如何),或者甚至更好地搜索最后一天工作区的所有修改故事?

请告诉我!

非常感谢。

我现在使用的代码如下所示:

$api = 'xxxxxxx'; $api_url = 'https://app.asana.com/api/1.0'; $url = 'https://app.asana.com/api/1.0/tasks/10976287567521/stories'; // 工作区/203178557772/tasks?assignee=203288254516&completed_since=now // 任务/203288254519/故事 $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); // 不打印结果 curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($curl, CURLOPT_TIMEOUT, 30); curl_setopt($curl, CURLOPT_FAILONERROR, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 不验证 SSL 连接 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); // "" "" curl_setopt($curl, CURLOPT_USERPWD, $api); curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json")); // $数据 = 数组( // “数据” => 数组( // "工作区" => "203178557772", // "名称" => "任务名称", // "笔记" => "笔记", // “受让人” => “203288254516” // ) // ); // $data = json_encode($data); // curl_setopt($curl, CURLOPT_POST, true); // curl_setopt($curl, CURLOPT_POSTFIELDS, $data); $html = curl_exec($curl); curl_close($curl); $html = json_decode($html, true); 回声 $url 。 '

'; print_r($html);

【问题讨论】:

    标签: php json api curl asana


    【解决方案1】:

    这(正如您敏锐地观察到的那样)实际上是三个独立的问题(或者,好吧,两个),所以我将回答标题中的问题:-)

    所以,第一个问题的答案是,这是我们如何在 Asana 中表示与用户的链接的一个怪癖——我们实际上链接到那个人的“分配给我”项目。不幸的是,目前还没有一种方便的方法可以在 API 中映射它们,但这实际上是我们正在做的事情,我们还没有准备好发布解决方案,所以你必须等待那个我害怕。

    此外,您可能需要查看API docs 中的modified_since(您可以在“查询任务”部分找到它)。

    【讨论】:

    • 非常感谢!抱歉,我是编程新手,这是我的第一个 stackoverflow 问题。下次我会分开做。再次感谢您的回答。
    • @agnoster 有关此人在 cmets 中提及的任何更新?无论如何至少可以从用户/域ID中获取用户名?我不一定需要链接,我只想要用户名的可读表示
    • 我们正在开发 API 的超文本版本,它允许您获取链接的名称。它尚未准备好用于生产,但您可以尝试使用opt_fields 来请求html_texthtml_notes 而不是text/notes。我们可能会在链接中嵌入其他信息(如 <a href="..." type="user" id="123">Tom Bizarro</a>),但尚未实施,甚至尚未完全充实。
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多