Twurl يشبه الضفيرة، ولكنه مصمم خصيصًا لواجهة برمجة تطبيقات Twitter. إنه يعرف كيفية منح رمز الوصول إلى تطبيق العميل لمستخدم محدد ثم تسجيل جميع الطلبات باستخدام رمز الوصول هذا.
كما أنه يوفر وسائل راحة أخرى للتطوير وتصحيح الأخطاء مثل تحديد الأسماء المستعارة للطلبات الشائعة، بالإضافة إلى دعم رموز الوصول المتعددة للتبديل بسهولة بين تطبيقات العملاء المختلفة وحسابات تويتر.
يمكن تثبيت Twurl باستخدام RubyGems:
gem install twurl
إذا لم تكن قد فعلت ذلك بالفعل، فإن أول ما عليك فعله هو التقدم بطلب للحصول على حساب مطور للوصول إلى Twitter APIs:
https://developer.twitter.com/en/apply-for-access
بعد حصولك على هذا الوصول، يمكنك إنشاء تطبيق Twitter وإنشاء مفتاح وسر للمستهلك.
عندما يكون لديك مفتاح العميل الخاص بك وسره، فإنك تسمح لحساب Twitter الخاص بك بتقديم طلبات واجهة برمجة التطبيقات (API) باستخدام مفتاح العميل وسره.
twurl authorize --consumer-key key
--consumer-secret secret
سيؤدي هذا إلى إرجاع عنوان URL الذي يجب عليك فتحه في متصفحك. قم بالمصادقة على تويتر، ثم أدخل رقم التعريف الشخصي الذي تم إرجاعه مرة أخرى إلى الجهاز. بافتراض أن كل شيء يعمل بشكل جيد، سيكون مسموحًا لك بتقديم طلبات باستخدام واجهة برمجة التطبيقات (API). سوف يخبرك Turl بنفس القدر.
يتطلب أبسط طلب فقط تحديد المسار الذي تريد طلبه.
twurl /1.1/statuses/home_timeline.json
كما هو الحال مع الضفيرة، يتم تنفيذ طلب GET بشكل افتراضي.
يمكنك تنفيذ طلب POST ضمنيًا عن طريق تمرير الخيار -d، الذي يحدد معلمات POST.
twurl -d ' status=Testing twurl ' /1.1/statuses/update.json
يمكنك تحديد طريقة الطلب التي سيتم تنفيذها بشكل صريح باستخدام الخيار -X (أو --request-method).
twurl -X POST /1.1/statuses/destroy/1234567890.json
يمكنك إنشاء رمز حامل باستخدام خيار --bearer
مع أمر authorize
.
twurl authorize --bearer --consumer-key key
--consumer-secret secret
وبعد ذلك، يمكنك تقديم طلب باستخدام رمز حامل تم إنشاؤه باستخدام خيار طلب --bearer
.
twurl --bearer ' /1.1/search/tweets.json?q=hello '
لإدراج الرموز المميزة لحاملها التي تم إنشاؤها، يمكنك استخدام الأمر الفرعي bearer_tokens
.
twurl bearer_tokens
سيؤدي هذا إلى طباعة زوج من مفتاح_المستهلك والرمز المميز لحامله المرتبط به. لاحظ أنه تم حذف الرموز المميزة من هذا الإخراج.
يمكنك الوصول إلى مضيفين مختلفين لواجهات برمجة تطبيقات Twitter الأخرى باستخدام العلامة -H.
twurl -H " ads-api.twitter.com " " /7/accounts "
لتحميل الملفات الثنائية، يمكنك تنسيق المكالمة كنشر نموذج. أدناه، الملف الثنائي هو "/path/to/media.jpg" وحقل النموذج هو "media":
twurl -H " upload.twitter.com " -X POST " /1.1/media/upload.json " --file " /path/to/media.jpg " --file-field " media "
twurl alias h /1.1/statuses/home_timeline.json
يمكنك بعد ذلك استخدام "h" بدلاً من المسار الكامل.
twurl h
يمكن استخدام المسارات التي تتطلب خيارات إضافية (مثل معلمات الطلب، على سبيل المثال) مع الأسماء المستعارة كما هو الحال مع المسارات الصريحة الكاملة، تمامًا كما قد تتوقع.
twurl alias tweet /1.1/statuses/update.json
twurl tweet -d " status=Aliases in twurl are convenient "
في المرة الأولى التي تسمح فيها لتطبيق عميل بتقديم طلبات نيابة عن حسابك، يقوم twurl بتخزين معلومات رمز الوصول الخاص بك في ملف ~/.twurlrc
الخاص به. ستستخدم الطلبات اللاحقة ملف التعريف هذا كملف التعريف الافتراضي. يمكنك استخدام الأمر الفرعي accounts
لمعرفة تطبيقات العميل التي تم السماح لها بأسماء المستخدمين:
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw
hhC7Koy2zRsTZvQh1hVlSA (default)
testiverse
guT9RsJbNQgVe6AwoY9BA
لاحظ أنه تم وضع علامة على أحد مفاتيح المستهلك هذه كمفتاح افتراضي. لتغيير الإعداد الافتراضي، استخدم الأمر الفرعي set
، ثم قم بتمرير إما اسم المستخدم فقط، إذا كان لا لبس فيه، أو اسم المستخدم وزوج مفاتيح المستهلك إذا لم يكن لا لبس فيه:
twurl set default testiverse
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw
hhC7Koy2zRsTZvQh1hVlSA
testiverse
guT9RsJbNQgVe6AwoY9BA (default)
twurl set default noradio HQsAGcBm5MQT4n6j7qVJw
twurl accounts
noradio
HQsAGcBm5MQT4n6j7qVJw (default)
hhC7Koy2zRsTZvQh1hVlSA
testiverse
guT9RsJbNQgVe6AwoY9BA
بينما يسمح لك تغيير ملف التعريف الافتراضي بتحديد رمز الوصول (OAuth1.0a) الذي تريد استخدامه، فإن الرموز المميزة لحاملها لا ترتبط بأي ملفات تعريف مستخدم لأن مصادقة التطبيق فقط لا تتطلب سياق المستخدم. أي أنه يمكنك تقديم طلب تطبيق فقط بغض النظر عن ملف التعريف الافتراضي الخاص بك إذا قمت بتحديد الخيار -c
( --consumer-key
) بمجرد إنشاء رمز مميز لحامل باستخدام مفتاح المستهلك هذا. افتراضيًا، يقرأ twurl مفتاح المستهلك الخاص بالملف الشخصي الحالي والرمز المميز للحامل المرتبط به من ملف ~/.twurlrc
.
مارسيل مولينا / @noradio
إريك مايكلز أوبر / @sferik
وهناك الكثير!