Java应用中通过Graph API提交作业反馈报错20243如何解决?
解决Java Graph SDK提交Teams作业文本反馈的错误问题
问题分析
你遇到的Invalid request body. Resource cannot be null错误,根源是选了错误的端点和模型。outcomes().post()接口是用来创建教育结果类资源(比如评分、带附件的反馈包),而纯文本作业反馈需要用专门的addFeedback接口,不需要构建EducationFeedbackOutcome对象。
正确实现步骤
1. 构建纯文本反馈对象
保持你原本的EducationFeedback构建逻辑即可,不需要包装成EducationFeedbackOutcome:
EducationItemBody body = new EducationItemBody(); body.content = "这里填写你的作业反馈文本"; body.contentType = BodyType.TEXT; EducationFeedback feedback = new EducationFeedback(); feedback.text = body;
2. 使用正确的Graph请求端点
替换原来的outcomes().post()调用,改用addFeedback方法提交:
_userClient.education() .classes(classId) .assignments(assignmentId) .submissions(submissionId) .addFeedback(feedback) .buildRequest() .post();
补充说明
EducationFeedbackResourceOutcome是用于提交带资源(文件、链接)的反馈,纯文本反馈不需要用到这个模型;且部分版本的Graph Java SDK中确实未包含该模型,无需纠结。- 调用
addFeedback接口后,反馈会直接同步到Teams作业的反馈框中,符合你的需求。
内容的提问来源于stack exchange,提问作者Mark Rensen
相关产品推荐
相关产品推荐

