2013-05-21 104 views
0

我正在嘗試使用JavaScript獲取任務列表的任務列表。可悲的是,我有一段時間試圖找到特定於javascript的文檔,所以我甚至不知道從哪裏開始。回答這個基本問題會很好,但如果有人能夠指向我的javascript api文檔的方向,我會永遠愛你!儘管如此,儘管如此。如何從任務中獲取任務列表的json

回答

1

你真的需要做到這一點的服務器上,而不是在瀏覽器中的JavaScript,因爲後者暴露你的API密鑰的世界(可能違背了服務的體位法的條款)

看API文檔(https://asana.com/developers/api-reference/tasks )在標題「QUESTING FOR TASKS」下獲取詳細信息。在命令行中,你可以鍵入以下內容(假設你有捲曲):

curl -u <api_key>: "https://app.asana.com/api/1.0/tasks?workspace=14916&assignee=me" 

大多數服務器端語言將有從腳本中做的相當於機制。

如果您需要交付給瀏覽器的JSON,你會:

  1. 消防關閉一個AJAX請求到服務器,提供適當的細節
  2. 在你的腳本轉換請求進入到一個呼叫Asana API(添加您的API密鑰)
  3. 從Asana接收服務器上的結果並回顯到客戶端。
  4. 在JavaScript中處理JSON。

請記住,就服務器的性能而言,這可能是一項昂貴的操作。根據您使用的設置/語言,您可能需要謹慎計劃以確保Asana API請求不會阻止其他請求(它們需要異步發生)。

+0

實際上,如果您在瀏覽器中,只要用戶登錄就不需要API密鑰。Asana的API將識別Asana的cookie。在https://github.com/Asana/Chrome-Extension-Example – jbl

+2

(我在Asana工作)查看Chrome擴展示例。基於cookie的方法適用於Chrome擴展,因爲擴展以比網頁更高的權限運行。瀏覽器強制執行安全措施,以便在發出請求的頁面不由Asana提供服務時,它們不會自動將Cookie發送給Asana。但是如果你想從Javascript訪問Asana數據,你可以使用Asana Connect和JSON-P。 http://developer.asana.com/documentation/#AsanaConnect –

+0

請注意,我們不贊成Greg提到的JSON-P輸出格式。 – marcog