آموزش جامع کار با API Github در Node.js
امروزه گیتهاب فراتر از یک مخزن ساده برای کدها است. این پلتفرم قلب تپنده دنیای متنباز محسوب میشود. توسعهدهندگان حرفهای برای اتوماسیون و مدیریت پروژهها، به کار با API Github نیاز مبرم دارند. با استفاده از این رابط برنامهنویسی، شما میتوانید قدرت گیتهاب را به اپلیکیشنهای خود بیاورید. در این مقاله، نحوه اتصال به این API قدرتمند را با استفاده از Node.js به صورت گامبهگام بررسی میکنیم.
چرا باید از API گیتهاب استفاده کنیم؟
گیتهاب محیطی برای میزبانی میلیونها خط کد است. این سرویس یک API مبتنی بر پروتکل OAuth فراهم کرده است. برنامهنویسان میتوانند این API را در پروژههای خود ادغام کنند. این کار باعث افزایش کارایی و هوشمندی نرمافزارها میشود. برای درک بهتر، ابتدا باید با مفاهیم احراز هویت آشنا باشید. استفاده از این ابزار، تجربه کاربری اپلیکیشن شما را به سطح جدیدی ارتقا میدهد.
مزایای استفاده از API گیتهاب
💻 دسترسی سریع به مخازن و دادههای عمومی کاربران.
🔒 افزایش امنیت با استفاده از سیستم احراز هویت استاندارد.
🚀 امکان خودکارسازی تسکهای مربوط به مدیریت کدها.
🛠 قابلیت یکپارچهسازی با سایر ابزارهای توسعه نرمافزار.
📈 بهبود سرعت توسعه پروژههای تیمی و مانیتورینگ.
کاربردهای اصلی در پروژهها
🌐 ساخت سیستمهای ورود با اکانت گیتهاب (Social Login).
📊 تحلیل دادههای مربوط به فعالیت برنامهنویسان.
🤖 طراحی بوتهای هوشمند برای مدیریت Issueها و Pull Requestها.
🔄 همگامسازی خودکار کدهای لوکال با سرورهای گیتهاب.
🎨 نمایش رزومه و فعالیتهای گیتهابی در وبسایتهای شخصی.
پیشنیازهای شروع پروژه نود جیاس
قبل از شروع کدنویسی، باید ابزارهای لازم را آماده کنید. داشتن دانش پایه در مورد جاوااسکریپت ضروری است. همچنین باید با محیط ترمینال آشنایی داشته باشید.
- ✅ نصب Node.js و مدیریت پکیج NPM روی سیستم.
- ✅ داشتن یک حساب کاربری فعال در سایت Github.
- ✅ آشنایی مقدماتی با فریمورک Express در نود جیاس.
- ✅ نصب یک ویرایشگر کد مناسب مانند VS Code.
راهنمای گامبهگام ثبتنام و دریافت دسترسی
برای شروع کار با API Github، ابتدا باید در پلتفرمهای واسط ثبتنام کنید. این کار به مدیریت بهتر درخواستهای شما کمک میکند.
- 🔹 ابتدا وارد سایت
p.api.irشوید. - 🔹 در بخش پنل کاربری، یک حساب جدید بسازید.
- 🔹 اطلاعات مورد نیاز برای دسترسی به APIها را دریافت کنید.
- 🔹 از مستندات موجود برای پیکربندی اولیه استفاده نمایید.
آموزش ایجاد OAuth App در گیتهاب
برای تعامل اپلیکیشن با گیتهاب، باید یک برنامه OAuth بسازید. این مراحل بسیار ساده اما حیاتی هستند.
گام اول: وارد حساب گیتهاب خود شوید. به بخش Settings بروید. روی آواتار خود کلیک کرده و تنظیمات را انتخاب کنید.
گام دوم: در منوی سمت چپ، روی Developer settings کلیک کنید. این بخش مخصوص مدیریت اپلیکیشنهای شماست.
گام سوم: گزینه OAuth Apps را انتخاب نمایید. سپس روی دکمه New OAuth App کلیک کنید.
گام چهارم: فرم ظاهر شده را با دقت پر کنید. نام اپلیکیشن و آدرس سایت خود را وارد نمایید. بخش Callback URL بسیار مهم است. این آدرس همان مسیری است که کاربر پس از تایید به آن بازمیگردد.
گام پنجم: پس از ثبت، به شما یک Client ID و یک Client Secret داده میشود. این دو رشته متنی را در جایی امن کپی کنید. ما در کدنویسی به آنها نیاز شدیدی داریم.
کدنویسی پروژه اتصال به API گیتهاب
حالا نوبت به بخش جذاب یعنی برنامه نویسی میرسد. ما از Node.js برای این کار استفاده میکنیم. ابتدا یک پوشه جدید بسازید. سپس دستورات زیر را برای نصب پکیجهای مورد نیاز اجرا کنید:
npm install express request
سپس فایلی به نام github-auth.js بسازید. کدهای زیر را با دقت در آن قرار دهید:
const express = require('express');
const request = require('request');
const app = express();
// تنظیمات اولیه و متغیرهای حساس
var config = {
client_id: process.env.github_client_id,
client_secret: process.env.github_client_secret,
redirect_url: 'http://localhost:3000/github/callback',
authorize_url:'https://github.com/login/oauth/authorize',
token_url: 'https://github.com/login/oauth/access_token',
user_url: 'https://api.github.com/user',
scope: 'user'
};
// مسیر هدایت کاربر به گیتهاب
app.get('/github/auth', function(req, res){
return res.redirect(config.authorize_url + `?client_id=${config.client_id}&scope=${config.scope}`);
});
// مسیر بازگشت و دریافت توکن
app.get('/github/callback', function(req, res){
var code = req.query.code;
options = {
method: 'POST',
uri: config.token_url,
formData: {
client_id: config.client_id,
client_secret: config.client_secret,
code: code
},
headers: { accept: 'application/json' }
};
request(options, function(e, r, b){
if(b) {
var jb = JSON.parse(b);
options_user = {
method: 'GET',
url: config.user_url,
headers: {
'accept': 'application/json',
'User-Agent': 'Node-App',
'Authorization': 'token ' + jb.access_token
}
};
request(options_user, function(ee, rr, bb){
if(bb) {
var user = JSON.parse(bb);
return res.json({ name: user.name, bio: user.bio, url: user.html_url });
}
});
}
});
});
app.listen(3000, () => console.log('Server is running on port 3000 🚀'));
تحلیل ساختار کد و اجرای پروژه
در بخش اول کد، ما کتابخانههای Express و Request را فراخوانی کردیم. Express برای مدیریت مسیرهای وب (Routes) استفاده میشود. Request نیز وظیفه ارسال درخواستهای HTTP به سرورهای گیتهاب را دارد.
در بخش تنظیمات (Config)، حتماً از متغیرهای محیطی استفاده کنید. این کار امنیت پروژه شما را تضمین میکند. هرگز کدهای حساس را مستقیم در متن کد ننویسید. برای تنظیم این متغیرها در ویندوز از دستور زیر استفاده کنید:
set github_client_id=YOUR_ID
در لینوکس یا مک نیز از دستور export استفاده نمایید. پس از تنظیم، برنامه را با دستور node github-auth.js اجرا کنید. حالا مرورگر را باز کرده و به آدرس http://localhost:3000/github/auth بروید.
شما به صفحه تایید گیتهاب هدایت میشوید. پس از کلیک روی دکمه تایید، اطلاعات پروفایل شما به صورت JSON نمایش داده میشود. این یک پیادهسازی ساده اما کاربردی از کار با API Github بود.
نتیجهگیری و گامهای بعدی
در این مقاله، اصول اولیه کار با API Github را فرا گرفتید. آموختیم که چگونه یک اپلیکیشن OAuth بسازیم. همچنین فرآیند دریافت توکن و استخراج اطلاعات کاربر را بررسی کردیم. این تازه شروع مسیر است. دنیای APIهای گیتهاب بسیار گستردهتر از این مثال ساده است. شما میتوانید برای مدیریت ریپازیتوریها و اتوماسیون کامل از آن بهره ببرید.
📢 نظر شما چیست؟
آیا در پیادهسازی کدها با مشکلی مواجه شدید؟ سوالات و تجربیات خود را در بخش نظرات با ما در میان بگذارید. همچنین اگر به دنبال پروژههای پیشرفتهتر هستید، حتماً سایر مقالات آموزشی ما را دنبال کنید!

