Partkeepr: مشاكل إعداد Octopart في v1.2.0

تم إنشاؤها على ١٦ فبراير ٢٠١٧  ·  11تعليقات  ·  مصدر: partkeepr/PartKeepr

معلومات النظام

  • إصدار PartKeepr: v1.2.0
  • قابل لإعادة الإنتاج على النظام التجريبي: لا (حيث لا أمتلك القدرة على تعديل التكوين على النظام التجريبي ويبدو أن تكامل Octopart يعمل هناك.)

كيف تتكاثر

لدي فهم محدود للغاية لكيفية دفع مفتاح Octopart API إلى النظام ، لذلك أقوم ببعض الافتراضات لأنني أكتب هذا (قد يكون بعضها غير صحيح) لذا يرجى تحمل معي. أيضًا ، سأستخدم "xxxxxxxx" بدلاً من مفتاح Octopart API الحقيقي الخاص بي في تقرير الخطأ هذا.

واجهت مشكلة أثناء محاولة إعداد دعم Octopart لتثبيت PartKeepr v1.2.0 الخاص بي. لقد بدأت ببساطة باتباع التعليمات الموجودة في app / config / parameters.php.dist ، والتي تنص على تعيين خاصية Octopart API في ملف parameters.php:

$container->setParameter('partkeepr.octopart.apikey', 'xxxxxxxx') `

يبدو أن القيام بذلك ليس له أي تأثير ولم يمكّن دعم Octopart في PartKeepr. في النهاية ، عدت وتشغيل الويب / الإعداد مرة أخرى ، والتي فشلت بعد ذلك في خطوة "استرداد التكوين الحالي" مع ظهور رسالة الخطأ "مفتاح المصادقة غير صالح". لمجرد نزوة ، قمت بتعيين الخاصية partkeepr.octopart.apikey على النحو التالي:

$container->setParameter('partkeepr.octopart.apikey', 'https://octopart.com/api/v3/parts/match؟apikey='xxxxxxxx') `

ثم أعدت تشغيل أداة الويب / الإعداد وتمكنت من تجاوز خطوة "استرداد التكوين الحالي" بنجاح دون أي أخطاء ، ثم تمكنت من متابعة بقية عملية الإعداد بنجاح ؛ ومع ذلك ، بعد تسجيل الدخول مرة أخرى إلى PartKeepr ، وسحب نافذة التفاصيل لعنصر والنقر فوق زر Octopart ، ظهرت نافذة Octopart ولكنها كانت فارغة تمامًا (لاحظ عدم وجود رسائل خطأ معروضة في واجهة المستخدم.) نظرة سريعة على partkeepr. أظهر السجل الخطأ التالي:

request.CRITICAL: Uncaught PHP Exception Guzzle\Http\Exception\ClientErrorResponseException: "Client error response [status code] 401 [reason phrase] Unauthorized [url] http://octopart.com/api/v3/parts/search?apikey=https%3A%2F%2Foctopart.com%2Fapi%2Fv3%2Fparts%2Fmatch%3Fapikey%3Dxxxxxxxx&q=STD950BLK&start=0&include%5B0%5D=short_description&include%5B1%5D=specs&include%5B2%5D=datasheets&limit=20" at /var/www/partkeepr.domain.com/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/BadResponseException.php line 43 {"exception":"[object] (Guzzle\\Http\\Exception\\ClientErrorResponseException(code: 0): Client error response\n[status code] 401\n[reason phrase] Unauthorized\n[url] http://octopart.com/api/v3/parts/search?apikey=https%3A%2F%2Foctopart.com%2Fapi%2Fv3%2Fparts%2Fmatch%3Fapikey%3Dxxxxxxxx&q=STD950BLK&start=0&include%5B0%5D=short_description&include%5B1%5D=specs&include%5B2%5D=datasheets&limit=20 at /var/www/partkeepr.domain.com/vendor/guzzle/guzzle/src/Guzzle/Http/Exception/BadResponseException.php:43)"} []

من رسالة السجل أعلاه ، يبدو أن المشكلة تتعلق بالتحقق / التحقق من صحة apikey للويب / الإعداد. يبدو أن العملية تحتاج إلى نقطة نهاية عنوان URL الخاصة بـ Octopart (مع تضمين apikey كمعامل URL) حتى يتم التحقق من صحتها ؛ ومع ذلك ، لا يريد PartKeepr نفسه سوى سلسلة apikey المستقلة المحددة في وقت التشغيل للاستبدال ، وهو أمر منطقي لأن عنوان URL لواجهة برمجة التطبيقات محدد في الثابت OCTOPART_ENDPOINT في /src/PartKeepr/OctoPartBundle/Services/OctoPartService.php.

الحل البديل لهذا (على الأقل الذي استخدمته في الوقت الحالي) هو ترك نقطة نهاية Octopart API الكاملة (مع تضمين مفتاح API كمعامل URL) في parameters.php لعملية الإعداد ، والتي يبدو أنها بحاجة إلى أكمل بنجاح لإقناع PartKeepr بتمكين دعم Octopart. ثم قمت بتعديل ملف /src/PartKeepr/OctoPartBundle/Services/OctoPartService.php عن طريق تعيين مفتاح api إلى سلسلة حرفية ، تمثل مفتاح Octopart API الخاص بي (كما هو موضح أدناه):

public function __construct($apiKey) { $this->apiKey = "xxxxxxxx"; }

أعتقد أن الإصلاح لهذا هو تصحيح التحقق من صحة مفتاح API في أداة الويب / الإعداد المساعدة ولكني لست متأكدًا. اعتذاري إذا أسأت فهم شيء ما أو كيف تعمل هذه العملية.

هتافات!

التعليق الأكثر فائدة

أهلا!
واجهت مشكلة في تكامل Octopart مع. أدخلت مفتاح API الخاص بي في المعلمات ، php ، وقمت بتشغيل setupa مرة أخرى ، لكن سرقة بحث Octopart لم تنجح. لذلك أنا folowedtracklogic المشورة الصورة وdelted ذاكرة التخزين المؤقت:
sudo rm -rf app / cache / *
ثم قمت بتشغيل الإعداد مرة أخرى ، وكل شيء يعمل الآن!

ال 11 كومينتر

نظرًا لأن العديد من الأشخاص يقومون بإعداد تكامل OctoPart ، لا أعتقد أن التنفيذ خاطئ ، ولكن مفتاح API الخاص بك.

أعتقد أنني أعرف ما هي المشكلة.

لا يتحقق برنامج الإعداد من مفتاح OctoPart API. مما يقودك إلى الافتراض أنك ستحتاج إلى إدخال OctoPart URI الكامل بدلاً من المفتاح نفسه ، مما يؤدي بعد ذلك إلى حدوث خطأ في استرداد البيانات.

Invalid Authentication Key إذا كان المفتاح في app/authkey.php لا يساوي ما أدخلته.

واجهت مشاكل في تثبيت Octopart أيضًا.
ما فعلته هو إعادة تشغيل عملية الإعداد (بعد حفظ مفتاح API). ثم عمل بحث Octopart على النحو المنشود.

لقد قمت بذلك من قبل ... يقوم بتخزين مفتاح OctoPart (أو عدم وجوده) في مكان ما في دليل ذاكرة التخزين المؤقت - لقد قمت للتو بحذف مجلد ذاكرة التخزين المؤقت وقمت بتحديث PartKeepr والتقطت أنني حددت الآن مفتاح OctoPart - بت من حك الرأس لبعض الوقت على الرغم من أنه كان يخبرني أنني لم أحدد واحدًا في parameters.php عندما قمت بذلك!

WickedAx هل يمكنك تقديم ملاحظات إضافية؟

لم يتم تقديم أي تعليقات ، ختامية

لم يتم تقديم أي تعليقات لفترة طويلة من الوقت ، مما أدى إلى إغلاق المشكلة.

لا تتردد في إعادة الفتح إذا كانت لديك معلومات إضافية.

أهلا!
واجهت مشكلة في تكامل Octopart مع. أدخلت مفتاح API الخاص بي في المعلمات ، php ، وقمت بتشغيل setupa مرة أخرى ، لكن سرقة بحث Octopart لم تنجح. لذلك أنا folowedtracklogic المشورة الصورة وdelted ذاكرة التخزين المؤقت:
sudo rm -rf app / cache / *
ثم قمت بتشغيل الإعداد مرة أخرى ، وكل شيء يعمل الآن!

نفس المشكلة ، حذف ذاكرة التخزين المؤقت كما ذكرنا فعل الحيلة.

لقد جربت الحيل أعلاه ، وحذف ذاكرة التخزين المؤقت وتشغيل الإعداد مرة أخرى.
أعتقد أن مشكلتي تتعلق بمفتاح octopart API الخاص بي ، يحتوي Octopart على مفتاح API مدرج بجوار النص الذي يشير إلى ذلك

تتم مراجعة طلبك للحصول على مفتاح Octopart API.

إنه لمن الغريب بالنسبة لي إصدار مفتاح API غير نشط ، وآمل أن تكون هذه هي المشكلة التي أواجهها.
سيكون من الجيد أن يكون لديك بعض الأساليب أو رسالة خطأ أفضل تخبرنا عن سبب فشل استدعاء واجهة برمجة التطبيقات.

هل هناك أي طريقة لتشغيل تصحيح الأخطاء أو أي ملفات سجل أخرى غير سجلات أباتشي؟

lhovo ينص التعليق أيضًا على أنه يجب عليك مراسلة [email protected] إذا كانت لديك أسئلة. على سبيل المثال؛ إذا كانت قيد المراجعة لفترة طويلة جدًا ؛ اتصل بهم. لن يعمل حتى لم يعد قيد المراجعة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات