Гиперссылки на пользователей в рассказах

Я создаю скрипт, который уведомит хипчатскую комнату об изменениях в задачах, комментариях и т. Д. В Асане.

Я столкнулся с тремя простыми проблемами, но я застрял и думал, что некоторые из вас могут мне помочь.

Проблема №1: Проблема, с которой я сталкиваюсь, заключается в том, что когда кто-то (пользователь) получает «упоминание или гиперссылку» в комментарии, я получаю случайный URL-адрес с номерами, которые я не могу назвать идентификатором пользователя или чем-либо еще. Может быть, есть логика, которую я не вижу?

То же самое с гиперссылками для задач и проектов? Не могли бы вы посоветовать, каков первый номер URL-адреса и второй?

См. Ниже ответ, который я получаю, когда получаю рассказ от Asana API [8] => Array ([id] => 10976152589055 [created_at] => 2014-03-15T04: 51: 40.831Z [created_by] => Array ([id] => 203288254516 [name] => Juan Martitegui)

[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';

     // workspaces / 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"));
     // $ data = array (
     // "data" => array (
     // "workspace" => "203178557772",
     // «name» => «Имя задачи»,
     // «notes» => «notes»,
     // «цессионарий» => «203288254516»
     //)
     //);
     // $ data = json_encode ($ data);
     // curl_setopt ($ curl, CURLOPT_POST, true);
     // curl_setopt ($ curl, CURLOPT_POSTFIELDS, $ data);        
     $ html = curl_exec ($ curl);
     curl_close ($ завиток);
     $ html = json_decode ($ html, true);

     echo $ url.  ' 

«; print_r ($ HTML);

Это (как вы отчетливо наблюдаете) действительно три отдельных вопроса (или, ну, два), поэтому я отвечу на тот, который находится в названии 🙂

Итак, ответ на ваш первый вопрос – это причуда того, как мы представляем ссылки на пользователей в Асане – мы фактически ссылаемся на проект «Назначено мне» этого человека. К сожалению, пока еще нет удобного способа сопоставления этих данных в API, но на самом деле это то, над чем мы работаем, но мы еще не готовы опубликовать решение, поэтому вам придется ждать этого Я боюсь.

Кроме того, вы можете захотеть проверить modified_since в документах API (вы найдете его в разделе «Запрос для задач»).