مكتبة Rust للتفاعل مع imgchest.com. يقوم بتنفيذ واجهة برمجة التطبيقات بالكامل مع توفير بعض الوظائف القائمة على الكشط دون تسجيل الدخول.
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
client . set_token ( "TOKEN" ) ;
let mut builder = imgchest :: CreatePostBuilder :: new ( ) ;
builder
. title ( "test title" )
. nsfw ( false )
. image ( imgchest :: UploadPostFile :: from_path ( "img.png" ) . await ? ) ;
let post = client . create_post ( builder ) . await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
# [ tokio :: main ]
async fn main ( ) -> anyhow :: Result < ( ) > {
let client = imgchest :: Client :: new ( ) ;
let post = client
. get_scraped_post ( "3qe4gdvj4j2" )
. await ? ;
dbg ! ( &post ) ;
Ok ( ( ) )
}
في الماضي، حاولت هذه المكتبة تجنب الاستخدام الرسمي لواجهة برمجة التطبيقات (API) تمامًا. وكان ذلك بسبب السببين التاليين:
على الرغم من أنه يبدو أنه قد تم تحديث حدود المعدل لتكون مقبولة (60 طلبًا في الدقيقة)، إلا أن جلب المشاركات لا يزال يتطلب تسجيل الدخول. ونتيجة لذلك، تمت إضافة دعم واجهة برمجة التطبيقات (API) إلى هذه المكتبة مع محاولة توفير بدائل قائمة على الاستخراج حيثما أمكن ذلك. يُقترح استخدام الوظيفة القائمة على الكشط عندما يكون ذلك ممكنًا لتجنب الحاجة إلى استخدام رمز واجهة برمجة التطبيقات (API) وتجنب حد السعر.
تم تصميم كائنات واجهة برمجة التطبيقات (API) المحذوفة في هذه المكتبة لتتوافق مع واجهة برمجة التطبيقات (API) الرسمية قدر الإمكان، على الرغم من عدم وجود بعض الحقول.
واجهة برمجة التطبيقات (API) محدودة بعدة طرق. قد تكتسب هذه المكتبة المزيد من الوظائف المستندة إلى التجريد للتغلب على هذه القيود. يتم ترتيب هذه القيود حسب الخطورة.