Skip to content

Missing field 'ext_lti_assignment_id' #19

@Error-250

Description

@Error-250

Description:
I want to create a LTI for my canvas to do someting for special Homework Submission.Then i create a config xml for my LTI first, like this:
<?xml version="1.0" encoding="UTF-8"?> <cartridge_basiclti_link xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0" xmlns:blti = "http://www.imsglobal.org/xsd/imsbasiclti_v1p0" xmlns:lticm ="http://www.imsglobal.org/xsd/imslticm_v1p0" xmlns:lticp ="http://www.imsglobal.org/xsd/imslticp_v1p0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://www.imsglobal.org/xsd/imslticc_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticc_v1p0.xsd http://www.imsglobal.org/xsd/imsbasiclti_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd http://www.imsglobal.org/xsd/imslticm_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd http://www.imsglobal.org/xsd/imslticp_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd"> <blti:launch_url>http://127.0.0.1:8080/canvas_lti/OJ/launch</blti:launch_url> <blti:title>oj</blti:title> <blti:description>oj</blti:description> <blti:extensions platform="canvas.instructure.com"> <lticm:property name="privacy_level">public</lticm:property> <lticm:options name="homework_submission"> <lticm:options name="labels"> <lticm:property name="en">oj</lticm:property> <lticm:property name="zh">编程</lticm:property> </lticm:options> <lticm:property name="selection_width">500</lticm:property> <lticm:property name="selection_height">300</lticm:property> <lticm:property name="enabled">true</lticm:property> </lticm:options> </blti:extensions> </cartridge_basiclti_link>
And i paste this config xml on canvas UI.After that, i find this tool will pass two fields to me: ext_lti_assignment_id(String) and custom_canvas_assignment_id(Number).In your lib, i find all the canvas post data will be store at a structure named 'LtiLaunchData' which do not have the two fields.So i think your lib may be not meet my needs.However, i have an idea when i see the log.When it authenticate successfully, it will redirect to my controller by Spring ranther than Browser.So i think may be i could get the field by HttpServletRequest object and it do.So i use a middle controller to save all my need fields which do not exists in 'LtiLaunchData' to session.
May be i do not read the document carefully to find a better way to do it.So i humbly ask you what is th right way to get the two fields, Thanks a lot.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions