Partkeepr: Masalah Menyiapkan Octopart di v1.2.0

Dibuat pada 16 Feb 2017  ·  11Komentar  ·  Sumber: partkeepr/PartKeepr

Sistem Informasi

  • Versi PartKeepr: v1.2.0
  • Dapat direproduksi pada sistem demo: Tidak (karena saya tidak memiliki kemampuan untuk mengubah konfigurasi pada sistem demo dan integrasi Octopart tampaknya berfungsi di sana.)

Cara memperbanyak

Saya memiliki pemahaman yang sangat terbatas tentang bagaimana kunci API Octopart didorong ke dalam sistem, jadi saya membuat beberapa asumsi saat saya menulis ini (beberapa di antaranya mungkin salah) jadi mohon bersabar. Juga, saya akan menggunakan 'xxxxxxxx' sebagai pengganti kunci API Octopart saya yang sebenarnya dalam laporan bug ini.

Saya mengalami masalah saat mencoba menyiapkan dukungan Octopart untuk instalasi PartKeepr v1.2.0 saya. Saya mulai dengan hanya mengikuti instruksi di app/config/parameters.php.dist, yang mengatakan untuk mengatur properti Octopart API di file parameter.php:

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

Melakukan hal ini tampaknya tidak berpengaruh dan tidak mengaktifkan dukungan Octopart di PartKeepr. Akhirnya, saya kembali dan menjalankan web/pengaturan lagi, yang kemudian gagal pada langkah "Mengambil Konfigurasi yang Ada" dengan pesan kesalahan "Kunci Otentikasi Tidak Valid." Secara spontan, saya mengatur properti partkeepr.octopart.apikey sebagai berikut:

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

Saya kemudian menjalankan ulang alat web/pengaturan dan berhasil melewati langkah "Mengambil Konfigurasi yang Ada" tanpa kesalahan apa pun dan kemudian dapat melanjutkan proses penyiapan lainnya dengan sukses; namun, setelah masuk kembali ke PartKeepr, membuka jendela detail untuk item dan mengklik tombol Octopart, jendela Octopart muncul tetapi benar-benar kosong (perhatikan tidak ada pesan kesalahan yang ditampilkan di UI.) Sekilas tentang partkeepr. log menunjukkan kesalahan berikut:

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)"} []

Dari pesan log di atas, masalahnya tampaknya adalah masalah dengan verifikasi/validasi apikey web/setup. Tampaknya proses membutuhkan titik akhir URL Octopart lengkap (dengan apikey disertakan sebagai parameter URL) agar dapat divalidasi; namun, PartKeepr sendiri hanya menginginkan string apikey mandiri yang ditentukan saat runtime untuk penggantian, yang masuk akal karena URL untuk API ditentukan dalam const OCTOPART_ENDPOINT di /src/PartKeepr/OctoPartBundle/Services/OctoPartService.php.

Solusi untuk ini (setidaknya yang saya gunakan untuk saat ini) adalah meninggalkan titik akhir API Octopart lengkap (dengan kunci API disertakan sebagai parameter URL) di parameter.php untuk proses penyiapan, yang tampaknya perlu selesaikan dengan sukses untuk meyakinkan PartKeepr bahwa dukungan Octopart diaktifkan. Kemudian saya memodifikasi file /src/PartKeepr/OctoPartBundle/Services/OctoPartService.php dengan menetapkan apiKey ke string literal, yang mewakili kunci API Octopart saya (seperti yang ditunjukkan di bawah):

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

Saya pikir perbaikan untuk ini adalah memperbaiki validasi kunci API di utilitas web/pengaturan tetapi saya tidak yakin. Saya minta maaf jika saya salah memahami sesuatu atau bagaimana proses ini bekerja.

Bersulang!

Komentar yang paling membantu

Hai!
Saya punya masalah dengan integrasi Octopart ke. Saya memasukkan kunci API saya di parameter, php, menjalankan setupa lagi, tetapi pencurian pencarian Octopart tidak berfungsi. Jadi saya mengikuti saran
sudo rm -rf app/cache/*
Kemudian saya menjalankan pengaturan lagi, dan semuanya sekarang berfungsi!

Semua 11 komentar

Karena beberapa orang menyiapkan integrasi OctoPart, saya tidak percaya implementasinya salah, melainkan kunci API Anda.

Saya rasa saya tahu apa masalahnya.

Setup tidak memverifikasi kunci OctoPart API. Yang membawa Anda pada asumsi bahwa Anda perlu memasukkan URI OctoPart lengkap alih-alih kunci itu sendiri, yang kemudian menyebabkan kesalahan saat mengambil data.

Invalid Authentication Key ditampilkan jika kunci di app/authkey.php tidak sama dengan yang Anda masukkan.

Saya juga mengalami masalah saat menginstal Octopart.
Yang saya lakukan adalah menjalankan kembali proses Setup (setelah kunci API disimpan). Kemudian pencarian Octopart berfungsi sebagaimana dimaksud.

Saya telah melakukan ini sebelumnya ... itu menyimpan kunci OctoPart (atau kekurangannya) di suatu tempat di direktori cache - saya baru saja menghapus folder cache dan menyegarkan PartKeepr dan mengambil bahwa saya sekarang telah menentukan kunci OctoPart - bit menggaruk kepala untuk sementara waktu karena itu memberitahu saya bahwa saya tidak menentukannya di parameter.php ketika saya melakukannya!

@WickedAx dapatkah Anda memberikan umpan balik tambahan?

Tidak ada umpan balik yang diberikan, penutupan

Tidak ada umpan balik yang diberikan untuk jangka waktu yang lama, menutup masalah.

Jangan ragu untuk membuka kembali jika Anda memiliki informasi tambahan.

Hai!
Saya punya masalah dengan integrasi Octopart ke. Saya memasukkan kunci API saya di parameter, php, menjalankan setupa lagi, tetapi pencurian pencarian Octopart tidak berfungsi. Jadi saya mengikuti saran
sudo rm -rf app/cache/*
Kemudian saya menjalankan pengaturan lagi, dan semuanya sekarang berfungsi!

Masalah yang sama, menghapus cache seperti yang disebutkan sudah berhasil.

Saya sudah mencoba trik di atas, menghapus cache dan menjalankan pengaturan lagi.
Saya pikir masalah saya adalah dengan kunci API octopart saya, Octopart memiliki kunci API yang tercantum di sebelah teks yang mengatakan

Permintaan Anda untuk kunci API Octopart sedang ditinjau.

Rasanya aneh bagi saya untuk mengeluarkan kunci API yang tidak aktif, semoga ini adalah masalah yang saya alami.
Akan lebih baik untuk memiliki beberapa teknik atau pesan kesalahan yang lebih baik yang menginformasikan mengapa panggilan API gagal.

Apakah ada cara untuk mengaktifkan debugging atau file log lain selain log apache?

@lhovo Komentar juga menyatakan bahwa Anda harus menghubungi [email protected] jika Anda memiliki pertanyaan. Sebagai contoh; jika sedang ditinjau terlalu lama; hubungi mereka. Ini tidak akan berfungsi sampai tidak lagi ditinjau.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

HolgerHeckeroth picture HolgerHeckeroth  ·  4Komentar

michielbrink picture michielbrink  ·  7Komentar

christianlupus picture christianlupus  ·  55Komentar

Drachenkaetzchen picture Drachenkaetzchen  ·  11Komentar

integralmedia picture integralmedia  ·  4Komentar