برنامه نویسی

پست ها را با استفاده از 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 و ساخت پروژه های شخصی خود را آغاز کند.

برنامه نویسی مبارک! 🚀

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا