簡體   English   中英

如何通過代理通過 javascript 查詢 LRS

[英]How to query LRS by agent via javascript

我覺得我已經嘗試了一切,但我一直在做空。 我正在編寫 Storyline 360 中的一門課程,並且在使用動詞和 object ID 時,我能夠很好地返回語句,但無論我如何嘗試返回特定代理的語句,我都無法通過 go .

這是我現在的代碼 - 我確實返回了大量的語句......我需要知道的是如何讓它查詢當前學習者的語句以進行匹配。 我可以輸入他們的名字或 mbox,但是每次嘗試在我的參數中傳遞它們都失敗了。

很感謝任何形式的幫助!

var lrs;
var statementFound = false;
var player = GetPlayer();
try {
    lrs = new TinCan.LRS(
        {
            endpoint: "https://cloud.scorm.com/lrs/MYINFO/",
            username: "MYINFO",
            password: "MYINFO",
            allowFail: false
        }
    );
}
catch (ex) {
    console.log("Failed to setup LRS object: ", ex);
    // TODO: do something with error, can't communicate with LRS
};

var myObj = JSON.parse(getParameterByName('actor'));
lrs.queryStatements(
    {
        params: {
            verb: new TinCan.Verb(
                { 
                   id:  "http://adlnet.gov/expapi/verbs/answered"
                }
            )
    },
        callback: function (err, sr) {
            if (err !== null) {
                console.log("Failed to query statements: " + err);
                // TODO: do something with error, didn't get statements
                return;
             }

            if (sr.more !== null) {
                // TODO: additional page(s) of statements should be fetched
             }

           if (sr.statements.length > 0) {
            statementFound = true;
             console.log(sr.statements);
             player.SetVar("sf",statementFound);
            }
        }
    }
);

var myObj 能夠在需要時提取必要的信息來識別學習者 - 但同樣,我只是不知道如何在查詢中傳遞它。

您需要在第一個參數中傳遞的params object 中設置agent屬性。 假設代理是語句中的actor

lrs.queryStatements(
    {
        params: {
            agent: TinCan.Agent.fromJSON(getParameterByName('actor'))
        }
    },
    ...
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM