2016-11-08 41 views
0

我使用的體位API上了一個新的應用程序工作,是Asana API發送太多事件?

後,我在一個項目中創建一個網絡掛接,我會接受,即使是最簡單的任務事件太多

讓我們來看看一個例子: 我有一個項目,webhook接收其上發生的所有更新。

我在這個項目上創建了一個新的任務,我收到了一個,不是兩個,而是11個事件。

{ 
    "events": [ 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:15.327Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:15.547Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:19.814Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:19.928Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:20.080Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519207, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:20.178Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519208, 
      "user": 50164104471653, 
      "type": "story", 
      "action": "removed", 
      "created_at": "2016-11-08T07:32:15.153Z", 
      "parent": 208671118519207 
     }, 
     { 
      "resource": 208720288746880, 
      "user": 50164104471653, 
      "type": "story", 
      "action": "added", 
      "created_at": "2016-11-08T07:32:15.332Z", 
      "parent": 208671118519207 
     } 
    ] 
} 

片刻之後,我收到這樣的:

{ 
    "events": [ 
     { 
      "resource": 116224991348154, 
      "user": 50164104471653, 
      "type": "project", 
      "action": "changed", 
      "created_at": "2016-11-08T07:32:20.556Z", 
      "parent": null 
     }, 
     { 
      "resource": 208671118519211, 
      "user": 50164104471653, 
      "type": "task", 
      "action": "added", 
      "created_at": "2016-11-08T07:32:20.520Z", 
      "parent": 116224991348154 
     }, 
     { 
      "resource": 208671118519212, 
      "user": 50164104471653, 
      "type": "story", 
      "action": "added", 
      "created_at": "2016-11-08T07:32:20.550Z", 
      "parent": 208671118519211 
     } 
    ] 
} 

據我所知,事件冒泡和事件的任務將觸發父項目的事件也一樣,我也能夠理解每個事件也會產生一個「故事」事件,但我不明白的是爲什麼我們有太多「任務改變」事件?

它是一個錯誤或功能?還是我做錯了?

如果我想爲每個任務更改獲取一個事件,我應該怎麼做?

另一個問題。有時我收到任務時沒有任何用戶ID的事件,如下所示:

{ 
    "events": [ 
     { 
      "resource": 207890837706528, 
      "user": null, 
      "type": "task", 
      "action": "changed", 
      "created_at": "2016-11-08T07:16:19.270Z", 
      "parent": null 
     } 
    ] 
} 

沒有用戶標識的事件是什麼意思?

謝謝

+0

哪個編程語言是這樣的?請提及該標籤也有問題,以便用戶可以檢查您的問題.... – 2016-11-08 07:53:33

回答

3

Asana dev here。你是正確的,我們發送了太多的事件 - 我們有點過分熱心。其中一些原因是由於你已經認識到的因素 - 事件冒泡,被添加到任務中的故事等等。但是,我不希望看到許多「任務更改」的事件......你是在創建它嗎?用戶界面?如果您輸入名稱/註釋,它肯定可以發送事件,而不是每次擊鍵,但每隔幾秒可能?我們還沒有找到解決方案,因爲Asana應用程序是被動的 - 它在輸入時不斷髮送更新,並且每個都顯示爲「編輯」事件。

對於沒有用戶的事件,當系統發生某些事情時發生 - 例如,如果任務被自動重複發生重複。

我們目前沒有計劃對此進行更改 - 從長遠來看,我們可能會添加新類型的事件。現在它基本上只是模型每次以任何方式改變時的流水線,以及添加/刪除事件。

+0

好吧,我直接使用您的web應用程序,我收到我的web應用程序的事件,有時我收到每3-4個字符的事件(這真的很煩人 是否有任何機會,你可以添加一個新的類型事件的評論(這是更有用的,然後「故事」一個恕我直言),如果我們有這種類型,我們會忽略任何「任務/改變」事件,只工作與(任務/添加)和(評論/添加) 目前我必須閱讀所有的(任務/改變),然後檢查它是否是評論或其他東西 所以我的問題是:有無論如何我可以在不閱讀所有「任務/更改」事件的情況下處理評論? – djug