مقالات

برای بدون کد یک پروکسی API ایجاد کنید


هنگامی که با ابزارهایی بدون کد مانند حباب کار می کنید ، کار با داده های API اغلب می تواند یک تجربه ناامیدکننده باشد. ممکن است قبل از استفاده از آن به طور مؤثر در برنامه خود ، خود را در شرایطی که نیاز به دستکاری یا تبدیل داده ها دارید ، پیدا کنید. متأسفانه ، محدودیت در ابزارهای غیر کد می تواند باعث شود این کار مانند یک نبرد دشوار باشد. ممکن است متوجه شوید که به راه حل های پیچیده متوسل می شوید یا حتی کاملاً تسلیم می شوید.

اما اگر راهی برای غلبه بر این محدودیت ها وجود داشته باشد ، چه می شود؟ مفهوم سرور پروکسی را وارد کنید. با تنظیم یک سرور پروکسی ، می توانید تماس های API را که توسط برنامه خود بدون کد ساخته شده است ضبط کرده و داده ها را به حرکت تبدیل کنید. این بدان معنی است که می توانید پاسخ API خام را انتخاب کنید ، آن را تغییر دهید تا نیازهای خود را برآورده کنید و سپس آن را بدون کد ادغام بدون دردسر به ابزار خود تحویل دهید.

اکنون ایده تنظیم سرور پروکسی ممکن است ترسناک به نظر برسد ، به خصوص اگر با رمزگذاری آشنا نیستید. اما این خبر خوب است: آنقدر که به نظر می رسد ترسناک نیست. با رویکرد و ابزارهای مناسب ، می توانید سرور را بدون سرور پروکسی ایجاد کنید که بدون نیاز به زیرساخت های پیچیده یا کنترل سرور ، تبدیل داده ها را برای شما پردازش کند.

در این مقاله ، ما شما را به صورت مرحله به مرحله در ایجاد سرور بدون سرور Proxy API سرور ، که با برنامه شما بدون کد اقتباس شده است ، هدایت خواهیم کرد. این سرور پروکسی به عنوان پلی بین پلت فرم شما بدون کد و API خدمت می کند و به شما امکان می دهد پاسخ های API را با توجه به نیازهای برنامه خود تنظیم کنید. در پایان این راهنما ، شما یک راه حل پایدار خواهید داشت که قابلیت های توسعه شما را بدون کد بهبود می بخشد و روش های جدیدی را برای کار با داده های API باز می کند.

بنابراین ، بیایید خودمان را غوطه ور کنیم و ببینیم که چگونه می توانید کنترل داده های API را کنترل کرده و روند کار خود را بدون کد بهینه کنید.

کارگران CloudFlare

کارگران CloudFlare بدون موارد سرور محاسبات رایانه ای هستند … به عبارت دیگر ، می توانید برخی از JavaScript را در ابر شروع کنید و نیازی به اداره سرور خود ندارید. و بهترین بخش این است که CloudFlare یک برنامه رایگان سخاوتمندانه دارد.

برای CloudFlare ثبت نام کنید

اگر دیگر یکی از آنها را ندارید ، ابتدا یک حساب در CloudFlare ثبت کنید. می توانید از ثبت نام وب سایت پرش کنید و روی “مرور سایر محصولات” کلیک کنید.

Hello World Worker ایجاد کنید

در سمت چپ ، روی “کارگران و صفحات” کلیک کنید. در مرکز صفحه ، روی “ایجاد یک کارگر” کلیک کنید.

بعد ، شما یک کارگر اتاق نشیمن ساده ایجاد می کنید. در پایین صفحه “باز” را کلیک کنید و در نهایت روی URL آشکار کلیک کنید ، که چیزی شبیه به آن است: https://hello-world-calm-bird-9b18.mad-be1.workers.dev/

تبریک می گویم! Hello World Worker شما در ابتدا کار می کند.

پروکسی و ترانسفورماتور

پروکسی را تنظیم کنید

با آدرس URL کارگران ، روی صفحه نمایش دوباره روی “ویرایش کد” کلیک کنید.

سمت چپ کد سلام جهانی خواهد بود. این کد را حذف کرده و با:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  const apiKey = request.headers.get('Authorization');

  if (!apiKey) {
    return new Response('Missing Authorization header', { status: 401 });
  }

  const profileKey = request.headers.get('Profile-Key');

  let apiUrl;
  let requestOptions;

  if (request.method === 'GET') {
    // Get the API endpoint from the query parameter
    apiUrl = new URL(request.url).searchParams.get('endpoint');

    if (!apiUrl) {
      return new Response('Missing endpoint parameter', { status: 400 });
    }

    // Decode the URL-encoded endpoint
    apiUrl = decodeURIComponent(apiUrl);

    requestOptions = {
      method: 'GET',
      headers: {
        'Authorization': apiKey,
        'Content-Type': 'application/json',
      },
    };

    if (profileKey) {
      requestOptions.headers['Profile-Key'] = profileKey;
    }
  } else if (request.method === 'POST' || request.method === 'PUT') {
    // Parse the request body as JSON
    const requestBody = await request.json();

    apiUrl = requestBody.endpoint ?? new URL(request.url).searchParams.get('endpoint');

    if (!apiUrl) {
      return new Response('Missing endpoint parameter', { status: 400 });
    }

    requestOptions = {
      method: request.method,
      headers: {
        'Authorization': apiKey,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify(requestBody),
    };

    if (profileKey) {
      requestOptions.headers['Profile-Key'] = profileKey;
    }
  } else {
    return new Response('Method not allowed', { status: 405 });
  }

  try {
    // Make the API request with the appropriate options
    const response = await fetch(apiUrl, requestOptions);

    // Parse the response JSON
    const data = await response.json();

    // Transform the data structure based on the endpoint
    const transformedData = transformData(data, apiUrl);

    // Return the transformed data as the response with the returned response.status
    return new Response(JSON.stringify(transformedData), {
      status: response.status,
      headers: { 'Content-Type': 'application/json' },
    });
  } catch (error) {
    // Handle any errors
    return new Response('Error occurred', { status: 500 });
  }
}

function transformData(data, apiUrl) {
  const endpoint = apiUrl.split('/').pop();

  switch (endpoint) {
    case 'endpoint':
      // Check if the data is an object with a "data" property
      if (data && typeof data === 'object' && 'data' in data) {
        // Transform the data structure
        const transformedData = {
          data: [data.data],
        };
        return transformedData;
      }
      break;
    case 'user':
      // Check if the user endpoint is an object
      if (data && typeof data === 'object') {
        // Add in the timestamp
        const transformedData = {...data};
        data.myAddedDate = (new Date()).toISOString();
        return transformedData;
      }
      break;
    // Add more cases for other endpoint checks if needed
    default:
      break;
  }

  // Return the original data if no transformation is needed
  return data;
}

روی “ذخیره و بخش” در گوشه بالا سمت راست کلیک کنید.

این کد دارای دو ویژگی اصلی است: handleRequest وت transformDataحرف

او handleRequest این ویژگی باعث تماس API می شود. نیازی به تغییر این ویژگی نیست.

او transformData تابعی است که باعث تبدیل داده ها می شود و برای مقابله با نیازهای داده های خود باید این کار را به روز کنید. بعداً درباره این موضوع بیشتر

همچنین می توانید این کد GitHub را پیدا کنید.

تا کنون ، بیایید سعی کنیم این کد را شروع کنیم.

پروکسی کامل – بگیرید

چند پیش نیاز برای آزمایش سرور پروکسی با API اجتماعی Ayrshare ، اما شما از استفاده از هر API استقبال می کنید:

بیایید با یک شروع کنیم GET با نقطه پایان /کاربر تماس بگیرید. در پانل مرکزی در انتهای URL شما

?endpoint=https%3A%2F%2Fapp.ayrshare.com%2Fapi%2Fuser

این یک مقدار کدگذاری شده URL است که به معنای آن است https://app.ayrshare.com/api/userحرف

به عنوان مثال:

https://hello-world-calm-bird-9b18.mad-be1.workers.dev?endpoint=https%3A%2F%2Fapp.ayrshare.com%2Fapi%2Fuser

درست در زیر علامت URL ، “+ اضافه کردن عنوان” را کلیک کنید. کلید “مجوز” و مقدار “API_KEY” را وارد کنید ، جایی که API_KEY کلید API شماست که در داشبورد مدیریت Ayrshare یافت می شود.

اکنون روی دکمه ارسال کلیک کنید.

اگر همه چیز موفق بود ، باید در پانل سمت راست 200 مشاهده کنید. هر یک GET URL را می توان استفاده کرد (رمزگذاری URL را فراموش نکنید) با یک سرور پروکسی.

پروکسی کامل – انتشار

شما همچنین می توانید درست کنید POST درخواست ها

URL را تغییر دهید تا نقطه انتهایی تجزیه و تحلیل را که تجزیه و تحلیل پست را بازیابی می کند ، فراخوانی کند. پارامتر درخواست را به URL کار خود تغییر دهید:

?endpoint=https%3A%2F%2Fapp.ayrshare.com%2Fapi%2Fanalytics%2Fpost

همچنین ، روش HTTP را از GOT به پست بررسی کنید.

در جعبه متن “بدن” وارد کنید:

{
    "id": "bBbtup4YDUm6agvSkQA4",
    "platforms": [
        "facebook"
    ]
}

کجا id شناسه یک پست منتشر شده است که می توانید به راحتی در بخش “پست” داشبورد مدیریت Ayrshare تهیه کنید.

پس از وارد کردن تمام اطلاعات ، روی ارسال کلیک کنید. پاسخ باید دوباره 200 پوند باشد.

تحول داده ها

قسمت آخر تبدیل داده ها به نیازهای شما است.

در برگه کد بالا:

function transformData(data, apiUrl) {
  const endpoint = apiUrl.split('/').pop();

  switch (endpoint) {
    case 'endpoint':
      // Check if the data is an object with a "data" property
      if (data && typeof data === 'object' && 'data' in data) {
        // Transform the data structure
        const transformedData = {
          data: [data.data],
        };
        return transformedData;
      }
      break;
     case 'user':
      // Check if the user endpoint is an object
      if (data && typeof data === 'object') {
        // Add in the timestamp
        const transformedData = {...data};
        data.myAddedDate = (new Date()).toISOString();
        return transformedData;
      }
      break;
    // Add more cases for other endpoint checks if needed
    default:
      break;
  }

  // Return the original data if no transformation is needed
  return data;
}

در اپراتور سوئیچ ، انتهای نقطه پایانی مانند “انتشار” یا “تجزیه و تحلیل” را نشان دهید. سپس داده ها را بر اساس آنچه که نقطه پایانی خاص برمی گردد ، تبدیل کنید. در این مثال ، اگر نقطه پایان در “نقطه پایانی” به پایان برسد و اگر فیلدی به نام “داده” در شیء داده وجود دارد ، شی را به یک آرایه تغییر داده و داده های تبدیل شده را برگردانید. در مثال دوم ، اگر نقطه پایان با “کاربر” و “داده” یک شیء است ، تاریخ علامت فعلی را اضافه کنید myAddedDate به سایت

شما می توانید نقاط پایانی دیگر را به اپراتور سوئیچ و اقدامات این نقاط انتهایی اضافه کنید ، مانند این موارد ، تمام مقادیر موجود در یک موضوع از حروف بزرگ را تغییر می دهد.

پایان

اگر با کد بدون کد راحت هستید اما می خواهید پروژه های خود را به سطح بعدی برسانید ، مطالعه JavaScript کوچک می تواند تغییر بازی باشد. با وارد کردن JavaScript در گردش کار خود بدون کد ، می توانید دنیای کاملاً جدیدی از فرصت ها را باز کرده و ابزارهای خود را برای رفع بهتر نیازهای خود سفارشی کنید.

اما در مورد مشکلات ایجاد و نگهداری سرورها چیست؟ این جایی است که ویژگی های بدون سرور می آیند. با سرور بدون سرور ، می توانید کد JavaScript خود را بدون نگرانی در مورد زیرساخت های اصلی شروع کنید. این بدان معنی است که می توانید در حالی که بستر سرور از دیگران مراقبت می کند ، روی نوشتن و آشکار کردن کد خود تمرکز کنید.

حال اگر قبلاً هرگز خط جاوا اسکریپت ننوشته اید ، ممکن است فکر غواصی وحشتناک به نظر برسد. اما نترس! با کمی آزمایش و کمک منابع آنلاین مانند ChatGPT ، می توانید به سرعت سرعت بخشید. کوچک را شروع کنید ، برخی از مفاهیم اساسی را امتحان کنید و به تدریج مهارت های خود را بسازید.

با ترکیب قدرت JavaScript و بدون ویژگی های سرور با ابزارهای موجود بدون کد ، می توانید جریان های کاری خود را بهینه کنید ، کارهای تکراری را خودکار کنید و راه حل های پیچیده تری ایجاد کنید. بنابراین نترسید که از منطقه راحتی خود خارج شوید و دنیای کد را در آغوش بگیرید. با تلاش و راهنمایی کمی ، تعجب خواهید کرد که زندگی شما بدون کد می تواند در زمین آسان تر باشد.


Source link

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

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

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