سؤال

لدي موقع ويب للشركات أريد سحبه في التغريدات ، لكنني أحصل على الحد الأقصى للمعدل باستخدام خلاصة HTTP. لذلك ، أريد استخدام طريقة مصادقة للحصول على التغريدات.

هل يتعين علي حقًا تسجيل تطبيق للقيام بذلك ، على الرغم من أنه ليس تطبيقًا حقًا ولن يقوم المستخدمون أبدًا بإدخال معلومات حساب Twitter أو تغييرها.

أيضًا ، لا يحتوي موقع شركتي على عنوان عام ، ويبدو أن تسجيل الطلب من خلال Twitter يتطلب عنوان URL العام. فكيف يمكنني الالتفاف على هذا؟ هل يجب علي إنشاء تطبيق "مزيف" مع عنوان URL العام ، فقط لإنشاء مفاتيحي؟

شكرا على اي مساعدة في هذا الشأن.

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

المحلول 2

أردت فقط نشر هذا للرجوع إليه في المستقبل ، وفي حال كان لدى أي شخص آخر نفس السؤال. كان الحل لمشكلتي ، هو تسجيل تطبيق على Twitter. ولكن نظرًا لأنني أستخدم مستخدمًا واحدًا فقط ، فلا يتعين عليك القيام بخطوات OAuth العادية لإنشاء طلب لمفتاح ، والحصول على الاستجابة وما إلى ذلك. كل تطبيق تقوم بتسجيله في Twitter يحصل على "رمز الوصول" الخاص به يمكن استخدامه لاسترداد التغريدات وما إلى ذلك ، فهذا ما انتهى بي الأمر لحل المشكلة التي كنت أواجهها.

تفاصيل إضافية: كان شاغلي الرئيسي هو التعرف على خطوات OAUTH لطلب رمز الوصول وما إلى ذلك ... نظرًا لأن طلبي ليس سوى تطبيق مستخدم واحد (مجرد سحب التغريدات المتعلقة بشركتنا من حسابات Twitter المحتجزة) ، فقد بدا الأمر غير ضروري فقط لفعل كل ذلك. ولكن ما وجدته هو أنه عند تسجيل تطبيق على Twitter ، ستحصل على رمز وصول خاص لكل تطبيق. يمكنك عرض القليل من المعلومات حول ذلك هنا: https://dev.twitter.com/pages/oauth_single_token.

نصائح أخرى

إذا كان موقعك خلف خادم وكيل مع جميع المستخدمين ، فلن يساعد استخدام JavaScript/JQuery. ستظل جميع الطلبات قادمة من نفس IP وستصل إلى حد السعر ، كما تفعل الآن.

المشكلة الأخرى هي أنك لست بحاجة إلى تسجيل تطبيق لطلب التغذية. هناك حاجة إلى التطبيقات فقط لـ OAUTH ، ولا يحتاج الحصول على التغذية إلى ذلك.

أفضل طريقة للتعامل مع ذلك هي الحصول على الخلاصة باستخدام برنامج نصي الخادم ، وتخزينه على الخادم ، ثم تسليم نسخة الخادم إلى صفحات الويب. إذا طلبت الخلاصة أقل من 150 مرة في الساعة ، فلن تواجه مشكلة في الحد.

إذا كنت تريد أكثر من خلاصة واحدة ، فيمكنك استخدام واجهة برمجة تطبيقات البث للحصول على جميع التغريدات لما يصل إلى 400 كلمة رئيسية أو من ما يصل إلى 5000 مستخدم. لا يزال هذا لا يحتاج إلى تطبيق مسجل ، لأن API البث لا يزال يتيح المصادقة الأساسية.

يبدو أنك تقوم بسحب التغذية لأسفل على HTTP على الخادم؟ يمكنك فقط الحد من التحديثات حتى لا تصل إلى حد السعر.

أوصي بدلاً من ذلك القيام بذلك على جانب العميل. هناك الكثير من عملاء Twitter من جافا سهل الاستخدام. قد تخف مشكلة الحد من المعدل لأن الخلاصة ستأتي من سطح المكتب وليس الخادم (إلا إذا استمروا في تحديثه).

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