Octopart APIキーがシステムにプッシュされる方法についての理解は非常に限られているため、これを作成する際にいくつかの仮定を立てています(一部は正しくない可能性があります)ので、ご容赦ください。 また、このバグレポートでは、実際のOctopartAPIキーの代わりに「xxxxxxxx」を使用します。
PartKeepr v1.2.0インストール用にOctopartサポートをセットアップしようとしたときに、問題が発生しました。 まず、app / config / parameters.php.distの指示に従うだけで、parameters.phpファイルにOctopartAPIプロパティを設定するように指示されています。
$container->setParameter('partkeepr.octopart.apikey',
'xxxxxxxx') `
これを行っても効果がないようで、PartKeeprでOctopartのサポートを有効にしませんでした。 最終的に、戻ってWeb /セットアップを再度実行しましたが、「既存の構成の取得」ステップで失敗し、「無効な認証キー」というエラーメッセージが表示されました。 気まぐれで、partkeepr.octopart.apikeyプロパティを次のように設定しました。
$container->setParameter('partkeepr.octopart.apikey',
'https://octopart.com/api/v3/parts/match?apikey =' xxxxxxxx ') `
次に、Web /セットアップツールを再実行し、エラーなしで「既存の構成の取得」ステップを正常に通過でき、残りのセットアッププロセスを正常に続行できました。 ただし、PartKeeprに再度ログインし、アイテムの詳細ウィンドウをプルアップして[Octopart]ボタンをクリックすると、Octopartウィンドウは表示されましたが、完全に空でした(UIにエラーメッセージが表示されなかったことに注意してください)。ログに次のエラーが表示されました。
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)"} []
上記のログメッセージから、問題はWeb /セットアップのapikey検証/妥当性確認の問題であるように見えます。 プロセスを検証するには、完全なOctopart URLエンドポイント(APIkeyがURLパラメーターとして含まれている)が必要であるように思われます。 ただし、PartKeepr自体は、実行時に指定されたスタンドアロンapikey文字列のみを置換に必要とします。これは、APIのURLが/src/PartKeepr/OctoPartBundle/Services/OctoPartService.phpのconstOCTOPART_ENDPOINTで指定されているため意味があります。
これの回避策(少なくとも当面使用したもの)は、セットアッププロセスのparameters.phpに完全なOctopart APIエンドポイント(URLパラメーターとして含まれているAPIキーを含む)を残すことです。 Octopartサポートが有効になっていることをPartKeeprに納得させるために、正常に完了します。 次に、apiKeyを文字列リテラルに割り当てて/src/PartKeepr/OctoPartBundle/Services/OctoPartService.phpファイルを変更しました。これは、Octopart APIキーを表します(以下を参照)。
public function __construct($apiKey)
{
$this->apiKey = "xxxxxxxx";
}
これに対する修正は、web / setupユーティリティのAPIキーの検証を修正することだと思いますが、よくわかりません。 何かを誤解したり、このプロセスがすべてどのように機能するかを誤解した場合は、お詫び申し上げます。
乾杯!
何人かの人がOctoPart統合をセットアップしているので、実装が間違っているとは思いませんが、APIキーです。
私は問題が何であるかを知っていると思います。
セットアップはOctoPartAPIキーを検証しません。 これにより、キー自体ではなく完全なOctoPart URIを入力する必要があると想定され、データの取得中にエラーが発生します。
Invalid Authentication Key
キーがでた場合に表示されているapp/authkey.php
あなたが入力したものと同じではありません。
Octopartのインストールにも問題がありました。
私がしたことは、セットアッププロセスを再実行することです(APIキーが保存された後)。 その後、Octopart検索は意図したとおりに機能しました。
以前にこれを行ったことがあります... OctoPartキー(またはその欠如)をキャッシュディレクトリのどこかに保存します-キャッシュフォルダを削除してPartKeeprを更新したところ、OctoPartキーを指定したことがわかりました-ビットそれが私に言っていたので、私が持っていたときにparameters.phpで1つを指定しなかったけれども、しばらくの間ヘッドスクラッチの。
@WickedAx追加のフィードバックを提供できますか?
フィードバックはありません、終了します
長期間フィードバックがないため、問題は解決しました。
追加情報がある場合は、お気軽に再開してください。
やあ!
Octopartのへの統合に問題がありました。 APIキーをparameters、phpに挿入し、setupaを再度実行しましたが、Octopart検索スティールが機能しませんでした。 だから私は@tracklogicのアドバイスをfolowedとキャッシュをdelted:
sudo rm -rf app / cache / *
次に、セットアップを再度実行すると、すべてが機能するようになりました。
同じ問題で、前述のようにキャッシュを削除すると、すでにうまくいきました。
上記のトリックを試し、キャッシュを削除してセットアップを再度実行しました。
私の問題はoctopartAPIキーにあると思います。Octopartのテキストの横にAPIキーが表示されています。
OctopartAPIキーのリクエストは審査中です。
非アクティブなAPIキーを発行するのは私には奇妙に感じます。うまくいけば、これが私が抱えている問題です。
API呼び出しが失敗した理由を通知する、何らかの手法またはより適切なエラーメッセージがあると便利です。
デバッグまたはapacheログ以外の他のログファイルをオンにする方法はありますか?
@lhovoコメントには、質問がある場合は[email protected]に連絡する必要があることも記載されています。 例えば; 審査中の期間が長すぎる場合。 それらに連絡してください。 レビューが終了するまで機能しません。
最も参考になるコメント
やあ!
Octopartのへの統合に問題がありました。 APIキーをparameters、phpに挿入し、setupaを再度実行しましたが、Octopart検索スティールが機能しませんでした。 だから私は@tracklogicのアドバイスをfolowedとキャッシュをdelted:
sudo rm -rf app / cache / *
次に、セットアップを再度実行すると、すべてが機能するようになりました。