capico组的画布api助手函数。
CC-API-jh2的Python项目详细描述
capico库
python 3的一个助手库,它为使用canvas api提供了各种助手函数。所有相关函数都会自动进行分页(因此返回的pandas数据帧将包含all信息)。
开始:
fromCC_API_jh2importCAPICO
可用功能:
用户级功能:
'''Function gets page views for a user between start and end dates (UTC-8 DateTime objects).Parameters: user (String): Canvas user ID in question token (String): Canvas token start (DateTime): UTC-8 DateTime object for start of time range end (DateTime): UTC-8 DateTime object for end of time rangeReturns: Pandas dataframe of all pages views for a user between start and end date'''defget_user_page_views(user,token,url,start,end)
课程级功能:
'''Helper function that gets Canvas course information.Parameters: course_id (String): ID of Canvas course token (String): User-generated API token url (String): URL of Canvas instanceReturns: Course object (JSON)'''defget_course_info(course_id,token,url)'''Gets all students in a course.Parameters: url (String): URL of Canvas instance class_id (String): Canvas ID of course token (String): Canvas tokenReturns: Pandas DataFrame of students in a course'''defget_student_list(url,class_id,token)'''Gets all course modulesParameters: url (String): URL of Canvas instance class_id(String): Canvas ID of course token (String): Canvas tokenReturns: Pandas DataFrame of modules in a course'''defget_course_modules(url,class_id,token)'''Gets all course pagesParameters: url (String): URL of Canvas instance class_id(String): Canvas ID of course token (String): Canvas tokenReturns: Pandas DataFrame of pages in a course'''defget_course_pages(url,class_id,token)'''Gets all course filesParameters: url (String): URL of Canvas instance class_id(String): Canvas ID of course token (String): Canvas tokenReturns: Pandas DataFrame of files in a course'''defget_course_files(url,class_id,token)'''Gets all users with as specified role in a courseParameters: url_in (String): URL of Canvas instance token_in (String): Canvas token course_in (String): Canvas ID of course user_type (String): Specified role to look for (e.g. students)Returns: Pandas DataFrame of all users with a specified role in a course'''defget_course_users(url_in,token_in,course_in,user_type)# allow_student_organized_groups, enable_offline_web_export'''Change settings for a courseParameters: url_in (String): URL of Canvas instance token_in (String): Canvas token course_in (String): Canvas ID of course setting_name (String): Name of setting to change setting_value (int/Boolean): 1 is True, 0 is FalseReturns: None'''defchange_course_settings(url_in,token_in,course_in,setting_name,setting_value)
课程测验功能:
'''Get all submissions for a specified quiz (Incomplete)Parameters: url_in (String): URL of Canvas instance token_in (String): Canvas token course_in (String): Canvas ID of course quiz_in (String): Canvas ID of quizReturns: JSON of all quiz submissions'''defget_all_quiz_submissions(url_in,token_in,course_in,quiz_in)'''Gives specified extra time to studentParameters: url (String): URL of Canvas instance token (String): Canvas token class_id (String): Canvas ID of course quiz_id (String): Canvas ID of quiz student_id (String): Canvas ID of student extra_time (String): Extra time given to student in minutesReturns: Response body of API request'''defextend_time(url,token,class_id,quiz_id,student_id,extra_time)'''Gives specified extra time to all students in a courseParameters: url (String): URL of Canvas instance token (String): Canvas token class_id (String): Canvas ID of course quiz_id (String): Canvas ID of quiz extra_time (String): Extra time given to student in minutesReturns: None'''defextend_all(url,token,class_id,quiz_id,extra_time)
蓝图级功能:
'''Helper function that gets a list of courses associated with a blueprint course (MAY CHANGE WHEN BLUEPRINT SYSTEM UPDATED)Parameters: blue_id: Blueprint course ID on Canvas token: User-generated API token url: URL of Canvas instance'''defget_associated_courses(blue_id,token,url)'''Function adds and removes courses from blueprint associationsParameters: blue_id (String): Canvas ID of blueprint course token (String): Canvas token url (String): Canvas URL to_remove (List[String]): List of courses to remove from blueprint association (if you do not wish to remove any, give an empty list) to_add (List[String]): List of courses to add from blueprint association (if you do not wish to add any, give an empty list)Returns: None'''defupdate_associations(blue_id,token,url,to_remove,to_add)
子账户级功能:
'''Function prints out the subaccount structure of a given nodeParameters: account_id (String): Canvas ID of node to find children for token (String): Canvas token url (String): Canvas URLReturns: None'''defprint_subaccount_tree(account_id,token,url)'''Gets the info about a subaccount (Incomplete)'''defget_account_info(url_in,token_in,subaccount_in)'''Gets all courses under a subaccount (and all of its children accounts as well)Parameters: url_in (String): URL of Canvas instance token_in (String): Canvas token subaccount_in (String, int): Canvas Subaccount IDReturns: Pandas DataFrame of all course under a subaccount'''defget_account_courses(url_in,token_in,subaccount_in)# See change_course_settingsdefchange_course_settings_subaccount(url_in,token_in,subaccount_in,setting_names,setting_value)'''List all of the enrollment terms under a master accountParameteres: url_in (String): URL of Canvas instance token_in (String): Canvas token subaccount_in (String): Canvas ID of master accountReturns: Pandas DataFrame of all enrollment terms'''deflist_enrollment_terms(url_in,token_in,subaccount_in)