ابحث عن دورات Udemy المجانية باستخدام Google Sheets وUdemy API

سواء كنت تتطلع إلى تعلم لغة برمجة، أو تحسين مهاراتك في Microsoft Excel، أو اكتساب المعرفة في التعلم الآلي، فمن المحتمل أن يكون لدى Udemy دورة فيديو لك. عادةً ما تكون دورات Udemy ميسورة التكلفة، ولا توجد رسوم اشتراك ويمكنك التعلم بالسرعة التي تناسبك.
دورات Udemy المجانية في البرمجة
في حين أن معظم دروس الفيديو على Udemy تتطلب الدفع، فإن الموقع يقدم أيضًا بعضًا من الدورات التدريبية ذات التصنيف العالي مجانًا. لقد قمت بإعداد ورقة Google التي تسرد جميع دورات البرمجة المجانية المتوفرة حاليًا على Udemy. يتم تحديث جدول البيانات تلقائيًا كل بضع ساعات. يمكنك أيضًا الوصول إلى إصدار الويب لسهولة التصفح.
✨ يمكنك استخدام وظيفة البحث في المتصفح (Ctrl + F) للعثور على دورات لغة برمجة أو موضوع معين. يتم فرز الدورات حسب الشعبية.
ليس هناك صلصة سرية. لدى Udemy واجهة برمجة تطبيقات للمطورين توفر الوصول إلى جميع بيانات الدورة التدريبية المتاحة على الموقع، بما في ذلك تقييمات المستخدمين وعدد الطلاب الذين حضروا الدورة ومدتها ومعاينة محاضرات الفيديو والمزيد.
استخدم Udemy API مع جداول بيانات Google
Udemy API مجاني للاستخدام ولكنه يتطلب المصادقة. يمكنك إنشاء بيانات الاعتماد لحساب Udemy الخاص بك ثم استخدام /courses
نقطة النهاية لجلب قائمة الدورات المجانية.
const parseCourseData_ = (courses) =>
courses
.filter(
({ is_paid, primary_category }) =>
is_paid === false && ['Development', 'IT & Software'].includes(primary_category.title)
// We are primarily interested in programming courses on Udemy
)
.map((e) => [
`=IMAGE("${e.image_240x135}")`,
`=HYPERLINK("https://www.udemy.com${e.url}";"${e.title}")`,
e.visible_instructors.map(({ display_name }) => display_name).join(', '),
e.num_subscribers,
Math.round(e.avg_rating * 100) / 100,
e.num_reviews,
e.content_info_short,
e.num_lectures,
new Date(e.last_update_date)
]);
const listUdemyCoursesGoneFree = () => {
// Put your Udemy credentials here
const CLIENT_ID = '';
const CLIENT_SECRET = '';
const params = {
page: 1,
page_size: 100,
is_paid: false,
'fields[course]': '@all'
};
const query = Object.entries(params)
.map(([key, value]) => `${key}=${encodeURIComponent(value)}`)
.join('&');
const apiUrl = `https://www.udemy.com/api-2.0/courses/?${query}`;
const bearer = Utilities.base64Encode(`${CLIENT_ID}:${CLIENT_SECRET}`);
const options = {
muteHttpExceptions: true,
headers: {
Authorization: `Basic ${bearer}`
}
};
const courses = [];
do {
const response = UrlFetchApp.fetch(apiUrl, options);
const { results = [], next } = JSON.parse(response);
courses.push(...parseCourseData_(results));
url = next;
} while (url && courses.length < 500);
const ss = SpreadsheetApp.getActiveSpreadsheet();
const [sheet] = ss.getSheets();
sheet.getRange(2, 1, sheet.getLastRow(), sheet.getLastColumn()).clearContent();
sheet.getRange(2, 1, courses.length, courses[0].length).setValues(courses);
};
نحن نستخدم خدمة UrlFetch الخاصة بـ Google Scripts لجلب البيانات من Udemy API ثم يتم تحليل البيانات وإدراجها في ورقة Google. يتم عرض الصورة المصغرة للدورة باستخدام صيغة IMAGE ويتم ربط عنوان الدورة بموقع Udemy على الويب باستخدام صيغة HYPERLINK.