در این راهنما، نحوه استخراج و وارد کردن داده های کوین گکو در گوگل شیت (Google Sheets) را با استفاده از افزونه API Connector توضیح خواهیم داد. نکته جالب در مورد CoinGecko این است که API آنها رایگان و باز است، بنابراین ما به هیچ کلید API نیاز نخواهیم داشت. آنها همچنین برخی از نقاط پایانی API منحصربه فرد را مانند سکه های بیشتر جستجو شده ارائه می کنند. نکته بد این است که به شدت درخواست های محدودیتی را از طریق سرورهای Google رتبه بندی می کنند.
درباره پلتفرم CoinGecko
پلتفرم CoinGecko یکی از پلتفرم های گردآورنده داده ارزهای دیجیتال است که در سال 2014 تاسیس شده و برای بررسی روند قیمت ها و حجم معاملات ارزهای دیجیتال مورد استفاده قرار می گیرد. برخی از ویژگی های اساسی این پلتفرم عبارتند از:
- تجزیه و تحلیل عمیقی از بازار کریپتوکارنسی
- ردیابی و اندازه گیری توکن ها و کوین ها
- ردیابی پارامترهایی مانند توسعه کد منبع باز، رشد جامعه و پیشرفت کد پروژه
- وب سایتی شامل فهرست دقیقی از ارزهای دیجیتال
- ارائه پلتفرم ردیابی قیمت و نمونه کارها با یک برنامه تلفن همراه
- ارائه API های رایگان
آموزش گام به گام وارد کردن داده های کوین گکو در گوگل شیت
در ادامه مطلب در مورد وارد کردن داده های سایت کوین گکو در گوگل شیت صحبت خواهیم کرد که با استفاده از افزونه API Connector انجام می شود. راه ها و روش های دیگری نیز برای وارد کردن این داده ها در گوگل شیت وجود دارد اما در اینجا با استفاده از API Connector این کار را انجام می دهیم.
قبل از اینکه شروع کنید
افزونه API Connector از Google Marketplace دانلود و نصب کنید.
مرحله 1: URL درخواست CoinGecko API خود را ایجاد کنید.
ابتدا لیست بزرگی از سکه های رمزنگاری و قیمت فعلی آنها را دریافت می کنیم.
API root: https://api.coingecko.com
Endpoint: /api/v3/coins/markets
Query String: ?vs_currency=usd
با کنار هم قرار دادن آن، URL درخواست API کامل را دریافت می کنیم:
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd
مرحله 2: داده های CoinGecko API را در برگه ها بیرون بکشید. (دریافت کنید)
اکنون بیایید URL را در رابط API قرار داده و برخی از داده های رمزنگاری شده را به Google Sheets وارد کنیم.
1: Google Sheets را باز کنید و روی Extensions > API Connector > Open کلیک کنید.
2: در تب جدید، URL API را که ایجاد کردیم وارد کنید.
3: قسمت سرصفحه ها را خالی بگذارید. همچنین میتوانید احراز هویت را روی None بگذارید.
4: یک برگه جدید ایجاد کنید و روی تنظیم جریان کلیک کنید تا از آن برگه به عنوان مقصد داده خود استفاده کنید.
5: درخواست خود را نام ببرید و روی Run کلیک کنید. لحظه ای بعد می بینید که آخرین داده های رمزنگاری در Google Sheet شما ظاهر می شود:
مرحله 3: نمونه های بیشتری از نشانی های اینترنتی API
برای مشاهده سایر انواع ارز و داده های رمزنگاری شده از API، نقاط پایانی و رشتههای جستجو را همانطور که در مستندات توضیح داده شده است، آزمایش کنید. به عنوان مثال، می توانید آدرس های اینترنتی زیر را یکی یکی امتحان کنید. (در صورت تمایل، شناسه های سکه یا ارزهای دیگر را جایگزین کنید.)
قیمت فعلی بیت کوین به دلار
https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
ارزهای دیجیتال خاص با قیمت، ارزش بازار، حجم و سایر آمارها
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&ids=bitcoin,ethereum,ripple,eos
تاریخچه قیمت بیت کوین در یک تاریخ مشخص
https://api.coingecko.com/api/v3/coins/bitcoin/history?date=30-12-2018
لیست تمام سکه های پشتیبانی شده با شناسه ها، نام ها و نمادها
https://api.coingecko.com/api/v3/coins/list
لیست تمام صرافی ها و اطلاعات مرتبط (سال تاسیس، کشور، حجم تجارت و غیره)
https://api.coingecko.com/api/v3/exchanges
دریافت نرخ صرافی برای BTC را در هر ارز
https://api.coingecko.com/api/v3/exchange_rates
به طور پیش فرض، URL درخواست نرخ تبادل/همه نرخ های مبادله را در یک ردیف برمی گرداند. برای تقسیم داده ها به یک جدول، می توانید یک جستار JMESPath از rates.* را اضافه کنید. همانطور که در تصویر بالا نشان داده شده است.
بیشترین سکه های جستجو شده در CoinGecko در 24 ساعت گذشته
https://api.coingecko.com/api/v3/search/trending
مرحله 4: مدیریت صفحه بندی
1: در چندین نقطه پایانی، CoinGecko تعداد رکوردهای بازگردانده شده در هر پاسخ را محدود می کند. بهطور پیش فرض، تنها 100 رکورد برگردانده می شود مگر اینکه از پارامترهای «page» و «per_page» همانطور که در مستندات آنها نشان داده شده است استفاده کنید.
2: با رابط API می توانید همانطور که در بالا نشان داده شده است، از طریق این URLها به صورت دستی صفحهبندی کنید، یا به طور خودکار با کنترل صفحهبندی پارامتر صفحه (ویژگی پولی)، آنها رابه دست آورید، مانند این:
API URL: enter your request URL, including per_page=250
Pagination type: page parameter
Page parameter: page
Run until: choose when to stop running the request
درخواست خود را وارد کنید، از جمله per_page=250
نوع صفحه بندی: پارامتر صفحه: page parameter
پارامتر صفحه: صفحه: page
اجرا تا زمان: انتخاب کنید چه زمانی اجرای درخواست متوقف شود.
مرحله 5: محدودیت های CoinGecko
اگر برای مدتی از API کوین گکو استفاده می کنید، احتمالاً با یک مشکل آزاردهنده مواجه خواهید شد، پیام های خطایی مانند این:
- API server responded with an error (429), error code: 1015
- API server responded with an error (403): error code: 1020
CoinGecko درخواست ها را به 10 تماس در ثانیه در هر آدرس IP محدود می کند، همانطور که در شرایط و ضوابط آنها نشان داده شده است:
متأسفانه، هنگامی که درخواست های خود را از طریق API Connector/گوگل شیت اجرا میکنید، به احتمال زیاد به این محدودیت های نرخ برخورد می کنید، زیرا همه درخواست هایی که از طریق گوگل شیت اجرا می شوند، مجموعه آدرس های IP یکسانی را از سرورهای Google به اشتراک می گذارند.
شما نمی توانید کاری در این مورد انجام دهید جز اینکه یک دقیقه صبر کرده و دوباره تلاش کنید (و امیدوار باشیم که CoinGecko در آینده گوگل را در لیست سفید قرار دهد). علاوه بر این، اطمینان حاصل کنید که درخواست ها را تا حد امکان در یک تماس واحد ترکیب می کنید. سرورهای آنها را با هزاران درخواست مواجه نکنید زیرا این کار مشکل را برای همه بدتر می کند.
اگر همچنان مشکل دارید، توصیه می کنیم به یک API کریپتو تغییر دهید که با کلید API خودتان محدود می شود و نه مجموعه مشترک آدرسهای IP، به عنوان مثال. CoinMarketCap یا CryptoCompare.
اسناد API
اسناد رسمی API: https://www.coingecko.com/en/api/documentation
ضمیمه: قالب و الگویی از کوین گکو
در این الگو، همه چیز برای شما پیکربندی شده است تا به سادگی برخی از سکه هایی که ممکن است به آن علاقه مند باشید را ببینید. شما با استفاده از API Connector می توانید داشبوردی مانند زیر دریافت کنید: