【PHP】Octopart(Nexar)のAPIトークンコードを発行する


現在、世界的な部品不足の影響で部品検索を行いことに疲弊している筆者です。さて、部品検索大手のOctopartを利用して探したく思っていました。

筆者自身プログラミング経験があまりないので、あまり参考にならないかもしれません。

今回は、Octopartでトークンコードを発行するコードをPHPで構成します。

Synologyでの運用を想定

ローカルネットワークでの運用を想定しています。あくまでも外部公開を想定していません。ちょうどSynologyのNASを常時動かしているため、こいつを使ってPHPを駆動させていきます。

Synologyは通常のLinuxとは違って、制約がかなりあります。そのため、あまり機能を追加せずに運用を想定します。Synologyではexecくらいは実行できます。

cURLはNexarのQ&Aを参考にしています。

<?php

# User Info
$your_client = "TEST";
$client_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$client_secret = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";


# cURL Code
$cmd = <<< EOD
curl -s --location --request POST 'https://identity.nexar.com/connect/token' \
--header 'User-Agent: {$your_client}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-raw 'grant_type=client_credentials&client_id={$client_id}&client_secret={$client_secret}&scope=supply.domain' \

EOD;

# EXEC Command
$nexar_exec = exec($cmd);

# Json Decode
$nexar_jq = json_decode($nexar_exec);

# Token
$token = $nexar_jq -> access_token;

echo $token;

?>

一部説明

Nexarにサインしたうえで、ご自身のidとsecretに書き換えてください。

引用:Nexar Token画面

# User Info
$your_client = "TEST";
$client_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
$client_secret = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";

コメントを残す

※メールアドレスの入力は必須ではありません。
※商品紹介や悪意のあるコメントはご遠慮ください。