返回顶部
c

coursera-progressCoursera进度

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
96
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

coursera-progress

Coursera 进度技能

通过 Coursera REST API v1 从 Coursera 获取注册状态、成绩、截止日期和证书。



身份验证设置

Coursera 使用 OAuth 2.0。有两种方式:

方式 A — 个人访问(适用于学习者)

  1. 1. 访问 coursera.org/account/api → 生成密钥
  2. 记下 客户端 ID客户端密钥
  3. 获取令牌(客户端凭证流程):

bash
export COURSERACLIENTID=yourclientid
export COURSERACLIENTSECRET=yourclientsecret

COURSERAACCESSTOKEN=$(curl -s -X POST \
https://api.coursera.com/oauth2/client_credentials/token \
-H Content-Type: application/x-www-form-urlencoded \
-d granttype=clientcredentials&clientid=$COURSERACLIENTID&clientsecret=$COURSERACLIENTSECRET \
| python3 -c import json,sys; print(json.load(sys.stdin)[access_token]))

export COURSERAACCESSTOKEN

方式 B — 非官方 API(无需密钥)

Coursera 的公共端点对于某些查询不需要身份验证。当用户未设置凭证时使用。



基础 URL 和请求头

https://api.coursera.com/api

bash
AUTHHEADER=Authorization: Bearer $COURSERAACCESS_TOKEN



核心 API 调用

获取用户的注册信息

bash

首先获取你自己的用户 ID


curl -s https://api.coursera.com/api/users/v1/me \
-H $AUTH_HEADER

然后获取注册信息

curl -s https://api.coursera.com/api/enrollments.v1?userId=USER_ID&fields=courseId,enrolledAt,grade,completedAt,certificateCode \ -H $AUTH_HEADER

按 ID 获取课程详情

bash
curl -s https://api.coursera.com/api/courses.v1?ids=COURSEID1,COURSEID2&fields=name,slug,description,specializations \
-H $AUTH_HEADER

获取按需课程进度

bash
curl -s https://api.coursera.com/api/onDemandCourseCompletions.v1?userId=USERID&courseId=COURSEID&fields=progressPercent,completedAt,grade \
-H $AUTH_HEADER

获取作业截止日期

bash
curl -s https://api.coursera.com/api/onDemandDeadlineSchedules.v1?courseId=COURSE_ID&fields=deadlineSchedule,moduleIds \
-H $AUTH_HEADER

获取证书信息

bash
curl -s https://api.coursera.com/api/certificates.v1?userId=USER_ID&fields=courseId,issuedAt,verifyUrl,grade \
-H $AUTH_HEADER

搜索课程

bash
curl -s https://api.coursera.com/api/courses.v1?q=search&query=SEARCH_TERM&fields=name,slug,partnerIds,primaryLanguages \
-H $AUTH_HEADER \
| python3 -m json.tool



显示结果

活跃注册摘要:

你的 Coursera 课程
─────────────────────────────────────────────────────
📚 机器学习专项课程(斯坦福大学/DeepLearning.AI)
进度:68% 完成 成绩:91.4%
下一个截止日期:3月28日 — 第4周编程作业

📚 人人学 Python(密歇根大学)
进度:100% ✅ 成绩:96.7%
证书:2026年1月12日颁发
验证:https://coursera.org/verify/XXXX

📚 数据科学 SQL(加州大学戴维斯分校)
进度:23% 成绩:—
下一个截止日期:4月3日 — 模块2测验
─────────────────────────────────────────────────────
已获得证书:1 活跃课程:2

即将到来的截止日期:

截止日期(未来14天):
3月28日 第4周编程作业 — 机器学习
4月3日 模块2测验 — 数据科学 SQL
4月10日 同行评审提交 — 机器学习



无 API 凭证(公开查询)

用于课程搜索和公开课程信息:

bash

公开课程信息(无需身份验证)


curl -s https://api.coursera.com/api/courses.v1?q=search&query=python&includes=instructors&fields=name,partnerIds,instructorIds,primaryLanguages,workload \
| python3 -m json.tool

对于个人数据(成绩、证书),需要凭证。



用于解析进度的 Python 辅助函数

python
import json, subprocess, os

def getenrollments(userid):
token = os.environ[COURSERAACCESSTOKEN]
r = subprocess.run(
[curl, -s,
fhttps://api.coursera.com/api/enrollments.v1?userId={user_id}
f&fields=courseId,enrolledAt,grade,completedAt,certificateCode,
-H, fAuthorization: Bearer {token}],
capture_output=True, text=True)
return json.loads(r.stdout).get(elements, [])

def upcoming_deadlines(enrollments, days=14):
from datetime import date, timedelta
cutoff = (date.today() + timedelta(days=days)).isoformat()
# 按课程解析截止日期并按日期过滤
...



错误处理


错误含义解决方法
401 未授权令牌已过期或缺失重新运行令牌生成步骤
403 禁止访问
密钥缺少作用域 | 使用正确的作用域重新生成 API 密钥 |
| 空的 elements 数组 | 未找到注册信息 | 确认正确的用户 ID |
| 速率限制 (429) | 请求过多 | 等待 30 秒;Coursera 限制约为 100 次请求/分钟 |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 coursera-progress-1776085081 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 coursera-progress-1776085081 技能

通过命令行安装

skillhub install coursera-progress-1776085081

下载

⬇ 下载 coursera-progress v0.1.0(免费)

文件大小: 2.94 KB | 发布时间: 2026-4-14 10:03

v0.1.0 最新 2026-4-14 10:03
Initial release of Coursera Progress skill.

- Fetches and displays Coursera enrollments, progress, grades, certificates, and assignment deadlines using the Coursera API.
- Supports both authenticated (personal data) and unauthenticated (public course info) usage.
- Provides setup instructions for API credentials and alternative usage without credentials.
- Includes example API calls and formatted output for course summaries and upcoming deadlines.
- Handles common error cases with troubleshooting tips.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部