پست ها را با استفاده از dev.to api: راهنما بخوانید

Dev.to API یک منبع خارق العاده برای توسعه دهندگان است که می خواهند به صورت برنامه ای به برنامه نویسی دسترسی پیدا کنند و پست ها را از سیستم عامل نمایش دهند. این که آیا شما در حال ساختن یک جمع کننده وبلاگ شخصی ، یک نمونه کارها هستید یا فقط به کاوش در API می پردازید ، این راهنما چگونه به شما نشان می دهد پست ها را بخوانید از dev.to با استفاده از JavaScript و TypeScript با axios
کتابخانه
در این مقاله ، ما منحصراً روی آن تمرکز خواهیم کرد پست های خواندن– لیست های پست ها ، بازیابی پست های جداگانه توسط شناسه یا SLUG و استفاده از پارامترهای پرس و جو برای فیلتر کردن و نتایج صفحه.
فهرست مطالب
1. مقدمه ای برای خواندن پست ها
API dev.to چندین نقطه پایانی را برای خواندن پست ها فراهم می کند:
- لیستی از پست ها را واگذار کنید: بازیابی چندین پست ، به صورت اختیاری توسط نام کاربری ، برچسب ها یا صفحه بندی فیلتر شده است.
- یک پست واحد را واگذار کنید: یک پست خاص را توسط شناسه یا slug آن بازیابی کنید.
تمام این نقاط پایانی داده ها را با فرمت JSON باز می گردانند و کار با JavaScript یا TypeScript را آسان می کنند.
2. تنظیم Axios
قبل از شروع ، اطمینان حاصل کنید که دارید axios
نصب شده می توانید آن را با استفاده از NPM یا نخ نصب کنید:
npm install axios
# or
yarn add axios
3. لیستی از پست ها را واگذار کنید
بدون کلید API
می توانید بدون استفاده از کلید API ، پست ها را واکشی کنید /articles
نقطه پایانی در اینجا نحوه انجام آن در JavaScript و TypeScript آورده شده است:
JavaScript مثال:
const axios = require('axios');
const username = 'your_username'; // Replace with the desired username
const url = `https://dev.to/api/articles?username=${username}&page=1&per_page=3`;
axios.get(url)
.then(response => {
const posts = response.data;
posts.forEach(post => {
console.log(`Title: ${post.title}`);
console.log(`Author: ${post.user.name}`);
console.log(`Published: ${post.readable_publish_date}`);
console.log(`URL: ${post.url}`);
console.log('---');
});
})
.catch(error => {
console.error('Error fetching posts:', error);
});
مثال Typescript:
import axios from 'axios';
interface Post {
title: string;
user: {
name: string;
};
readable_publish_date: string;
url: string;
}
const username = 'your_username'; // Replace with the desired username
const url = `https://dev.to/api/articles?username=${username}&page=1&per_page=3`;
axios.get<Post[]>(url)
.then(response => {
const posts = response.data;
posts.forEach(post => {
console.log(`Title: ${post.title}`);
console.log(`Author: ${post.user.name}`);
console.log(`Published: ${post.readable_publish_date}`);
console.log(`URL: ${post.url}`);
console.log('---');
});
})
.catch(error => {
console.error('Error fetching posts:', error);
});
با صفحه بندی (page
وت per_page
)
API dev.to با استفاده از صفحه بندی پشتیبانی می کند page
وت per_page
پارامترها:
-
page
: شماره صفحه برای واکشی (پیش فرض 1). -
per_page
: تعداد پست ها در هر صفحه (پیش فرض 30 ، حداکثر 1000 است).
URL مثال:
https://dev.to/api/articles?username=your_username&page=2&per_page=5
4. واکشی یک پست
توسط شناسه پست
برای واکشی یک پست واحد توسط شناسه آن ، از /articles/{id}
نقطه پایانی
JavaScript مثال:
const axios = require('axios');
const postId = 123456; // Replace with the actual post ID
const url = `https://dev.to/api/articles/${postId}`;
axios.get(url)
.then(response => {
const post = response.data;
console.log(`Title: ${post.title}`);
console.log(`Author: ${post.user.name}`);
console.log(`Published: ${post.readable_publish_date}`);
console.log(`URL: ${post.url}`);
})
.catch(error => {
console.error('Error fetching post:', error);
});
مثال Typescript:
import axios from 'axios';
interface Post {
title: string;
user: {
name: string;
};
readable_publish_date: string;
url: string;
}
const postId = 123456; // Replace with the actual post ID
const url = `https://dev.to/api/articles/${postId}`;
axios.get<Post>(url)
.then(response => {
const post = response.data;
console.log(`Title: ${post.title}`);
console.log(`Author: ${post.user.name}`);
console.log(`Published: ${post.readable_publish_date}`);
console.log(`URL: ${post.url}`);
})
.catch(error => {
console.error('Error fetching post:', error);
});
توسط slug post
برای واکشی یک پست واحد توسط slug آن ، از /articles/{username}/{slug}
نقطه پایانی
JavaScript مثال:
const axios = require('axios');
const username = 'your_username'; // Replace with the desired username
const slug = 'your-post-slug'; // Replace with the actual post slug
const url = `https://dev.to/api/articles/${username}/${slug}`;
axios.get(url)
.then(response => {
const post = response.data;
console.log(`Title: ${post.title}`);
console.log(`Author: ${post.user.name}`);
console.log(`Published: ${post.readable_publish_date}`);
console.log(`URL: ${post.url}`);
})
.catch(error => {
console.error('Error fetching post:', error);
});
مثال Typescript:
import axios from 'axios';
interface Post {
title: string;
user: {
name: string;
};
readable_publish_date: string;
url: string;
}
const username = 'your_username'; // Replace with the desired username
const slug = 'your-post-slug'; // Replace with the actual post slug
const url = `https://dev.to/api/articles/${username}/${slug}`;
axios.get<Post>(url)
.then(response => {
const post = response.data;
console.log(`Title: ${post.title}`);
console.log(`Author: ${post.user.name}`);
console.log(`Published: ${post.readable_publish_date}`);
console.log(`URL: ${post.url}`);
})
.catch(error => {
console.error('Error fetching post:', error);
});
5 با استفاده از پارامترهای پرس و جو
فیلتر توسط نام کاربری
برای واکشی پست ها توسط یک کاربر خاص ، از username
پارامتر:
https://dev.to/api/articles?username=your_username
فیلتر توسط برچسب ها
برای واکشی پست ها با برچسب های خاص ، از tag
پارامتر:
https://dev.to/api/articles?tag=javascript
شما می توانید چندین پارامتر را برای پرس و جوهای خاص تر ترکیب کنید:
https://dev.to/api/articles?username=your_username&tag=webdev&page=1&per_page=5
6. نتیجه گیری
خواندن پست ها از dev.to با استفاده از API ساده و قدرتمند است. این که آیا شما لیستی از پست ها را واگذار می کنید ، بازیابی یک پست واحد توسط شناسه یا SLUG یا نتایج فیلتر کردن با استفاده از پارامترهای پرس و جو ، API Dev.to تمام ابزارهای مورد نیاز شما را فراهم می کند.
با استفاده از axios
در JavaScript یا TypeScript ، می توانید به راحتی پست های dev.to را در برنامه های خود ادغام کنید. این راهنما باید یک بنیاد محکم به شما بدهد تا کاوش در مورد API و ساخت پروژه های شخصی خود را آغاز کند.
برنامه نویسی مبارک! 🚀