پستهای کاربر X در Felo
ارائهدهنده: Felo · پرداخت با موجودی پلتفرم
عملیات مناسب برای دادهای را که نیاز دارید انتخاب کنید. هر پنج پایاننقطه از POST استفاده میکنند و JSON را در ریشه برمیگردانند، بدون یک پوشش مشترک data.
تمام نمونهها از FELO_API_KEY از نمای کلی استفاده میکنند. تماسها از موجودی پلتفرم استفاده میکنند، نه اعتبارات Felo Pro. نمونههای پاسخ صرفاً نمایشی هستند؛ محتوای زنده و فیلدهای اختیاری متفاوتاند.
3. دریافت تایملاین کاربر
POST /api/v1/data/x/user/tweets
| فیلد | نوع | الزامی | معنا |
|---|---|---|---|
username | string | یک شناسه لازم است | هندل کاربر، تا 100 نویسه |
x_user_id | string | یک شناسه لازم است | شناسه کاربر، تا 100 نویسه؛ بر username اولویت دارد |
limit | integer | خیر | 1 تا 1,000؛ پیادهسازی فعلی حداقل 20 را استفاده میکند، با پیشفرض 20 |
cursor | string | خیر | نشانگر صفحهبندی، تا 4,000 نویسه |
include_replies | boolean | خیر | پاسخهای تودرتو را شامل شود؛ پیشفرض false |
curl -sS --request POST "https://openapi.felo.ai/api/v1/data/x/user/tweets" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"username":"OpenAI","limit":20,"include_replies":false}'پاسخ شامل tweets، total، has_next و next_cursor است. تنظیم limit زیر 20 تضمین نمیکند که آیتمهای بازگرداندهشده کمتر باشند یا صورتحساب کوچکتر شود. شاملکردن پاسخها میتواند دادههای بازگرداندهشده و نتایج قابلصورتحساب را افزایش دهد.
محدودیتهای نتیجه و پاسخهای تودرتو
limit تعداد هدف برای پستهای سطح بالا در این درخواست است، نه تعداد نتیجه تضمینشده. پیادهسازی فعلی از هدفی حداقل 20 استفاده میکند: هدف 20 یک صفحه بالادستی را میخواند؛ اهداف بزرگتر بهطور خودکار تا 50 صفحه را واکشی میکنند. پیش از هر صفحه، زمان سپریشده بررسی میشود و وقتی از 60 ثانیه فراتر رود، واکشی صفحات بیشتر متوقف میشود. این بررسی تضمین نمیکند که کل درخواست HTTP در 60 ثانیه تمام شود.
گردآوری همچنین وقتی هدف برآورده شود، صفحه بعدی بالادست وجود نداشته باشد، یک صفحه خالی باشد، یا cursor موجود نباشد متوقف میشود. بنابراین یک پاسخ موفق ممکن است کمتر از limit پست داشته باشد. در صورت وجود، از has_next و next_cursor برای ادامه استفاده کنید.
با include_replies=true، هر پست بازگرداندهشده تا 5 صفحه اضافی و حداکثر 100 پاسخ تودرتو دریافت میکند. گردآوری میتواند زودتر متوقف شود وقتی صفحه بعدی وجود نداشته باشد، صفحهای خالی باشد، یا cursor نتواند پیش برود. این پاسخهای تودرتو خارج از limit و total سطح بالا هستند، اما میتوانند نتایج قابلصورتحساب را افزایش دهند.
replies تودرتو یک بایگانی کامل پاسخها نیست و یک cursor ادامهدهنده جداگانه برای این گردآوری اضافی در اختیار نمیگذارد. برای صفحهبندی مستقل پاسخها، از عملیات Read replies و cursor بازگرداندهشده آن استفاده کنید. از cursor پست سطح بالا برای پاسخها استفاده نکنید.
صفحهبندی و کنترل هزینه
total آرایه متناظر را در پاسخ فعلی میشمارد: پستهای سطح بالا برای پرسوجوهای پست، یا پاسخها درون هر ورودی نتیجه برای پرسوجوهای پاسخ. این یک شمارش جهانیِ تطابقها، تعداد کامل پاسخهای یک پست، یا شمارش نهایی قابلصورتحساب نیست.
- درخواست اول را بدون
cursorبفرستید. has_nextوnext_cursorرا از پاسخ بخوانید. برای پاسخها، آنها را روی هر ورودی نتیجه بخوانید.- اگر صفحه دیگری وجود دارد و cursor خالی نیست، همان را بدون تغییر با همان پرسوجو بفرستید. برای یک دسته پاسخ، هر پست را جداگانه ادامه دهید.
- وقتی صفحه بعدی وجود ندارد، وقتی cursor تکرار میشود، یا وقتی سقف صفحه یا هزینه خودتان به پایان میرسد، متوقف شوید.
فراداده صفحهبندی نشاندهنده آخرین پاسخ بالادستی است؛ مجموعه بازگرداندهشده میتواند در یک سقف نتیجه کوتاه شود. حتی has_next=false نیز تضمین نمیکند که تمام تاریخچه X یا پاسخها بازیابی شدهاند. بهجای برچسبزدن یک مجموعه نتیجه محدود بهعنوان همه دادههای موجود، شمارش واقعی بازگرداندهشده را نمایش دهید.
هر صفحه موفق میتواند هزینهای در پی داشته باشد. این پنج عملیات بر اساس نتایج بازگرداندهشده صورتحساب میشوند، نه یک هزینه ثابت برای هر درخواست. پاسخهای تودرتو و سایر رکوردهای بازگرداندهشده میتوانند روی شمارش صورتحساب اثر بگذارند؛ هزینه را فقط بر اساس طول آرایه سطح بالا تخمین نزنید. قیمتهای فعلی و استفاده در کنسول را بررسی کنید. فیلدهای کامل شیء در اسکیما OpenAPI موجود است.