2017-07-14 79 views
0

我正在研究tincan JavaScript API。我的數據格式的問題是徹底改變,TinCan已經指定了爲什麼將數據與呼叫一起傳遞。幫助我以TinCan Api格式調整數據。以下是我的一個電話的示例數據。需要幫助來實現Tincan Javascript API

VAR數據= { 「的groupId」: 「的groupId」, 「組名」: 「gNameEncrypt」, 「tutorNames」: 「tutorNames」, 「actorNames」: 「actorNames」, 「otherNames」:「 otherNames「 };

當前我所做的只是解碼這些數據並將其發送。

var actionList = new TinCan(
    { 
    recordStores: [{ 
         endpoint: "http://example.com", 
         username: username, 
         password: password, 
         allowFail: false 
        }] 
}); 

       var action = new TinCan.Agent({ 
        "name": "insert" 
       }); 

       actionList.getStatements({ 
        'params': { 
         'agent': action, 
         'verb': { 
          'id': $.base64.encode(data) 
         } 
        }, 
        'callback': function (err, data) { 
         console.info(data.more); 
         var urlref = "http://<?php echo $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . $uriParts[0] . "?" ?>t=" + data.more.TutorToken; 
         window.location.href = urlref; 
        } 
       }); 
       crypt.finish(); 
      }); 

回答

0

實際上有兩個部分在這裏,1)需要獲取數據到XAPI(以前鐵罐)格式,以及2)代碼本身。

1)我認爲你需要再看看如何使用xAPI。數據存儲了一個JSON「Statement」對象,該對象具有3個必需的屬性和各種其他可選屬性。這些屬性通常包含非常可擴展的複雜對象。很難從你所展示的內容中看出你真正想要捕捉什麼,以及最好的方法是什麼。我建議閱讀一些關於xAPI語句格式的材料。 http://experienceapi.com/statements-101/是一個很好的起點,並至少獲得一些覆蓋範圍的所有可能性繼續http://experienceapi.com/statements/

2)您列出的代碼試圖基於兩個參數獲取已存儲的語句,而不是嘗試存儲語句。這兩個參數是「代理」和「動詞」。在這種情況下,我們不能說出動詞應該是什麼,因爲我們不知道data包含什麼,我懷疑這不會成爲一個意圖作爲陳述行爲的動詞。說過「演員」的值爲action這一事實值得懷疑,因爲這聽起來更像是一個「動詞」應該包含的內容。將#1作爲#1的一部分進行正確的陳述應該讓你明白如何檢索這些陳述。至於存儲這些語句,如果您使用的是接口對象,則需要使用該對象的sendStatement方法。但不再推薦此接口,建議的做法是構建一個對象並直接與其交互,在這種情況下,您將使用saveStatement方法。我建議看一下項目主頁的「基本用法」部分:http://rusticisoftware.github.io/TinCanJS/瞭解更多細節請看API文檔:http://rusticisoftware.github.io/TinCanJS/doc/api/latest/

+0

#Brian J. Miller我明白你說的是什麼?我也遵循這些鏈接來實施TinCan。但我主要關心的是我的數據在我的情況下,我的數據隨着每條語句而改變。這裏是我的應用程序的測試鏈接http://test.lip-app.eu請看看這個,並建議我如何調整tincan對象中的數據? –