2012-07-12 20 views
6

का उपयोग करके ब्लैकबोर्ड पर प्रोग्रामेटिक रूप से असाइनमेंट सबमिट करना संभव है? क्या कोई यह पुष्टि कर सकता है कि ब्लैकबोर्ड वेब सर्विसेज का उपयोग करके ब्लैकबोर्ड पर प्रोग्रामेटिक रूप से असाइनमेंट सबमिट करना संभव है? (दस्तावेज here के रूप में)। विशेष रूप से मैं एक असाइनमेंट सबमिट करने के लिए ग्रेडबुक.WS, AttemptVO और छात्र सबमिशन विधि का उपयोग करने का सही तरीका जानना चाहता हूं। यहाँ मैं अब तक जो ज्यादातर में काम करता है कि प्रयास attemptVO.studentSubmission को छोड़कर बी बी ग्रेडबुक में देखा जा सकता की कोशिश की है है ब्लैकबोर्ड ग्रेडबुक में दिखाई नहीं देता है:क्या ब्लैकबोर्ड वेब सर्विसेज

from suds.client import Client 
from suds.plugin import MessagePlugin 
from suds.wsse import Timestamp, UsernameToken, Security 

WS_BASE_URL = 'http://bbdev.bangor.ac.uk/webapps/ws/services/' 

class Learn9Plugin(MessagePlugin): 
    def marshalled(self, context): 
     password = context.envelope.childAtPath('Header/Security/UsernameToken/Password') 
     password.set('Type', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText') 

security = Security() 
security.tokens.append(Timestamp()) 
security.tokens.append(UsernameToken('session', 'nosession')) 
plugin = Learn9Plugin() 

context = Client( WS_BASE_URL + 'Context.WS?wsdl', 
location = WS_BASE_URL + 'Context.WS', 
autoblend = True, 
wsse = security, 
plugins = [plugin]) 

context.options.wsse.tokens[1].password = context.service.initialize() 

result = context.service.loginTool('xxxxx', 'xxxx', 'xxxxx', '', 500) 

course_id = '_15877_1' 

gradebook = Client(WS_BASE_URL + 'Gradebook.WS?wsdl', 
    location=WS_BASE_URL + 'Gradebook.WS', 
    autoblend=True, 
    wsse=security, 
    plugins=[plugin]) 


attemptVO = gradebook.factory.create('ns0:AttemptVO') 

attemptVO.override = False 
attemptVO.publicFeedbackToUser = False 
attemptVO.score = 0 
attemptVO.gradeId = '_169_1' # Smith 
attemptVO.studentSubmission = 'Some sample text representing an assignment' 
attemptVO.studentSubmissionTextType = 'PLAIN_TEXT' 
print attemptVO 
attempt_result = gradebook.service.saveAttempts(course_id, [attemptVO,]) 
print attempt_result 

परिणाम:

(AttemptVO){ 
    attemptDate = None 
    creationDate = None 
    displayGrade = None 
    exempt = None 
    expansionData[] = <empty> 
    feedbackToUser = None 
    grade = None 
    gradeId = "_169_1" 
    groupAttemptId = None 
    id = None 
    instructorNotes = None 
    override = False 
    publicFeedbackToUser = False 
    score = 0 
    status = None 
    studentComments = None 
    studentSubmission = "Some sample text representing an assignment" 
    studentSubmissionTextType = "PLAIN_TEXT" 
} 
[_586_1] 

कई धन्यवाद।

+0

इस के लिए कोई अद्यतन? – skippr

+1

कोई अपडेट अपेक्षित नहीं है क्योंकि उपर्युक्त एपीआई का उपयोग करना संभव नहीं है। मैंने यह देखने के लिए दस्तावेज़ों की जांच कभी नहीं की कि क्या उन्हें अपडेट किया गया है या नहीं। – Sion

उत्तर

4

ब्लैकबोर्ड के डेवलपर्स में से एक मेरे पास वापस आ गया और कहा कि 'studentSubmission' और 'setStudentSubmissionTextType' विधियों के रूप में webservice का उपयोग करके असाइनमेंट सबमिट करना संभव नहीं है।

प्रलेखन को अद्यतन करने के लिए ब्लैकबोर्ड को एक अनुरोध किया गया है।

संबंधित मुद्दे