Partkeepr: Проблемы с установкой Octopart в v1.2.0

Созданный на 16 февр. 2017  ·  11Комментарии  ·  Источник: partkeepr/PartKeepr

Системная информация

  • Версия PartKeepr: v1.2.0
  • Воспроизводится в демонстрационной системе: нет (поскольку у меня нет возможности изменять конфигурацию в демонстрационной системе, и, похоже, там работает интеграция Octopart).

Как воспроизвести

У меня очень ограниченное представление о том, как ключ API Octopart вводится в систему, поэтому я делаю некоторые предположения, когда пишу это (некоторые из которых могут быть неправильными), поэтому, пожалуйста, не теряйте меня. Кроме того, в этом отчете об ошибке я буду использовать «xxxxxxxx» вместо моего настоящего ключа API Octopart.

У меня возникла проблема при попытке настроить поддержку Octopart для моей установки PartKeepr v1.2.0. Я начал с простого следования инструкциям в app / config / parameters.php.dist, в которых говорится, что нужно установить свойство Octopart API в файле parameters.php:

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

Это не дало результата и не включило поддержку Octopart в PartKeepr. В конце концов, я вернулся и снова запустил web / setup, который затем завершился неудачно на этапе «Получение существующей конфигурации» с сообщением об ошибке «Недействительный ключ аутентификации». По прихоти я установил свойство partkeepr.octopart.apikey следующим образом:

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

Затем я повторно запустил веб-инструмент / инструмент настройки и смог успешно пройти этап «Получение существующей конфигурации» без каких-либо ошибок, а затем смог успешно продолжить остальную часть процесса настройки; однако после повторного входа в PartKeepr, открытия окна сведений об элементе и нажатия кнопки Octopart окно Octopart появилось, но было полностью пустым (обратите внимание, что в пользовательском интерфейсе не отображались сообщения об ошибках). Быстрый взгляд на partkeepr. log показал следующую ошибку:

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-адрес API указан в const OCTOPART_ENDPOINT в /src/PartKeepr/OctoPartBundle/Services/OctoPartService.php.

Обходной путь для этого (по крайней мере, тот, который я использовал в настоящее время) - оставить полную конечную точку Octopart API (с ключом API, включенным в качестве параметра URL-адреса) в parameters.php для процесса установки, который, похоже, должен завершить успешно, чтобы убедить PartKeepr в том, что поддержка Octopart включена. Затем я изменил файл /src/PartKeepr/OctoPartBundle/Services/OctoPartService.php, назначив apiKey строковому литералу, представляющему мой ключ API Octopart (как показано ниже):

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

Я думаю, что исправить это можно, исправив проверку ключа API в утилите web / setup, но я не уверен. Приношу свои извинения, если я что-то неправильно понял или как работает этот процесс.

Ваше здоровье!

Самый полезный комментарий

Привет!
У меня возникла проблема с интеграцией Octopart в. Я вставил свой ключ API в параметры php, снова запустил setupa, но поисковая кража Octopart не сработала. Итак, я последовал совету @tracklogic и удалил кеш:
sudo rm -rf приложение / кеш / *
Затем я снова запустил настройку, и теперь все работает!

Все 11 Комментарий

Поскольку несколько человек настраивают интеграцию OctoPart, я считаю, что реализация неправильная, а скорее ваш ключ API.

Думаю, я знаю, в чем проблема.

Программа установки не проверяет ключ API OctoPart. Это приводит вас к предположению, что вам нужно будет ввести полный URI OctoPart вместо самого ключа, что затем вызовет ошибку при получении данных.

Invalid Authentication Key отображается, если ключ в app/authkey.php не совпадает с тем, что вы ввели.

У меня тоже были проблемы с установкой Octopart.
Что я сделал, так это перезапустил процесс установки (после сохранения ключа API). Тогда поиск Octopart сработал так, как задумал.

Я делал это раньше ... он хранит ключ OctoPart (или его отсутствие) где-то в каталоге кеша - я просто удалил папку кеша и обновил PartKeepr, и он понял, что теперь я указал ключ OctoPart - бит какое-то время чесал голову, хотя, как он мне говорил, я не указывал его в parameters.php, когда у меня был!

@WickedAx, можете ли вы

Отзывов нет, закрытие

Никакой обратной связи в течение длительного периода времени закрываю.

Не стесняйтесь открывать снова, если у вас есть дополнительная информация.

Привет!
У меня возникла проблема с интеграцией Octopart в. Я вставил свой ключ API в параметры php, снова запустил setupa, но поисковая кража Octopart не сработала. Итак, я последовал совету @tracklogic и удалил кеш:
sudo rm -rf приложение / кеш / *
Затем я снова запустил настройку, и теперь все работает!

Та же проблема, удаление кеша, как уже упоминалось, уже помогло.

Я попробовал описанные выше приемы, удалив кеш и снова запустив настройку.
Я думаю, что моя проблема связана с моим ключом API octopart, у Octopart ключ API указан рядом с текстом, в котором говорится

Ваш запрос на ключ API Octopart находится на рассмотрении.

Мне кажется странным выдавать неактивный ключ API, надеюсь, это проблема, с которой я столкнулся.
Было бы хорошо иметь какую-нибудь технику или лучшее сообщение об ошибке, информирующее о том, почему вызов API не удался.

Есть ли способ включить отладку или любые другие файлы журналов, кроме журналов apache?

@lhovo В комментарии также говорится, что вы должны связаться с [email protected], если у вас есть вопросы. Например; если он находится на рассмотрении слишком долго; свяжитесь с ними. Это не сработает, пока не перестанет проверяться.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

mctomaszek picture mctomaszek  ·  20Комментарии

HolgerHeckeroth picture HolgerHeckeroth  ·  4Комментарии

dani2bunny picture dani2bunny  ·  24Комментарии

baradhili picture baradhili  ·  17Комментарии

kgabryszewska picture kgabryszewska  ·  8Комментарии