سؤال

أنا أخطط لاستخدام Bit.ly برو و Bit.ly أبي لجعل بلدي عناوين قصيرة الخاصة في مشروع القضبان 3.

لقد حصلت على مستخدم ونموذج ملاحظة.وهيكل ورل مثل هذا:'/اسم المستخدم / 1-ملاحظة-العنوان'.

الآن أود أن أعطي كل ملاحظة عنوان ورل قصير.لكنني لا أعرف من أين يجب أن أقوم باستدعاء واجهة برمجة التطبيقات.الآن حصلت على هذا الرمز في وحدة تحكم ملاحظة ولكن أنا لا أعرف ما إذا كان هذا هو المكان المناسب أو كيفية الحصول على ورل من مذكرة محددة...

url = ???

parsed_json = JSON('http://api.bit.ly/v3/shorten?login=bitlyapidemo&apiKey=R_0da49e0a9118ff35f52f629d2d71bf07&longUrl=' + url + '&format=json')

@short_url = parsed_json["data"]["url"]

هيكل كائن جسون للرجوع إليها فقط:

{
  "status_code": 200, 
  "data": {
    "url": "http://bit.ly/cmeH01", 
    "hash": "cmeH01", 
    "global_hash": "1YKMfY", 
    "long_url": "http://betaworks.com/", 
    "new_hash": 0
  }, 
"status_txt": "OK"
}

مطلوب مساعدة ، شكرا مقدما!

هل كانت مفيدة؟

المحلول

يبدو أنه يجب إنشاء عنوان ورل القصير عند إنشاء ملاحظة جديدة لمستخدم معين.في هذا السياق يمكن أن يحدث نتيجة ل create العمل في NotesController (عادة).تشير أفضل الممارسات إلى أن المسؤولية المنطقية يجب أن تعيش Note نموذج لذلك أود أن أقترح عليك أن تفعل bit.ly تقصير تنفيذها في رد حفظ ، إما قبل أو بعد ، اعتمادا على مدى أهمية ذلك (في سياق التطبيق الخاص بك معين) لعنوان ورل تقصير في الوجود.

التحدي هو التعامل مع حالة الخطأ التي هي عندما bit.ly الخدمة غير قادرة على الاستجابة لطلب التقصير الخاص بك على الإطلاق أو تستغرق وقتا طويلا في القيام بذلك.هذا عند وضعه في رد الاتصال قد لا يكون له معنى لأنه من المحتمل ربط التطبيق الخاص بك عند محاولة تلبية الطلب.

إذا كنت لا تحتاج مباشر تقصير رابط ثم هل يمكن أن تنظر في إنشاء طلبات تقصير وظائف في قائمة الانتظار في عملية الخلفية يجب القيام به بشكل غير متزامن (إعادة المحاولة حسب الضرورة) ويتم تشغيله في ما سبق ذكره after_save رد في الخاص بك Note نموذج

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top