エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


カオナビAPI Ver.2.0のtokenを取得する PHP+cURLのサンプルプログラム

      2025/01/31

カオナビAPIのtoken、シート情報を取得する PHP+cURLのサンプルプログラム

 
カオナビAPI Ver.2.0の tokenとシートの情報を PHPの cURLを使用して取得するサンプルプログラムを作りました。
 
カオナビ API Ver.2.0 マニュアル
https://developer.kaonavi.jp/api/v2.0/index.html
 
カオナビAPI Ver.2.0のマニュアルですが、「Request samples」には、コマンドラインで実行する cURLのサンプルコマンドはありましたが、PHPのプログラムとして cURLを組み込む場合のサンプルプログラムがありませんでしたので作成してみました。
 
ただ、この記事は下記の条件を満たす方向けになりますので、非常にターゲットは狭いであろうと思っています。
・カオナビ APIを使用する方
・PHPで作成する方
・cURLで作成する方
 
 

PHPの cURLを使ってカオナビAPIの tokenを取得するサンプルプログラム

 

 
実際に分かってしまえばシンプルなソースになりますが、cURLのオプションとして「CURLOPT_USERPWD」や「CURLOPT_POSTFIELDS」を指定する点が分かりにくかったですね。
 
 

cURLのオプションの「CURLOPT_USERPWD」「CURLOPT_POSTFIELDS」

 
その cURLのオプションの「CURLOPT_USERPWD」「CURLOPT_POSTFIELDS」や、それ以外のオプションについて詳細を確認したい場合は、下記の PHPマニュアルの「curl_setopt」を参照してください。
https://www.php.net/manual/ja/function.curl-setopt.php
 
 

cURLを実行した際に発生するエラーナンバー

 
cURLを利用して APIにアクセスする処理は「getCurl」として関数化していますので、カオナビ API以外の APIへアクセスする際も汎用的に使用できるかと思います。
 
その際「$errorNo = curl_errno($ch);」で取得しているエラーナンバーとしてどのような値があるのかについて詳細を確認したい場合は、下記の PHPマニュアルの「curl_errno」を参照してください。
https://www.php.net/manual/ja/function.curl-errno.php
 
 
また、上記のサンプルプログラムは、httpのレスポンスとして受信するヘッダ情報を元にエラー処理を分岐させるような処理は作成していません。
もし、それらを実装したい方は下記の記事が参考になるかと思います。
https://ondotori.webstorage.jp/docs/api/reference/api_sample.html
 
 
また、cURLの関数に関しては下記に改めて解説した記事を書きましたので、併せて参考にしてください。
PHPで APIにアクセスする際などに使用する cURLのサンプルプログラム
 
 

 
カオナビ APIの「Request samples」として Linux系(Mac)でコマンドで実行する際のサンプルとして下記が提示してあります。
 

 
cURLのコマンドのオプションとして記述がある「-X」「-u」「-H」「-d」はそれぞれ下記の意味になっています。
 
-X
HTTPメソッドの指定で「POST」「GET」などを指定する
 
-u
--user」と記述することもできて、ユーザID、PASSを指定する
ID、PASSは「:(コロン)」で区切る
 
-H
HTTPヘッダーを指定する
-head」「--head」と記述することもできる
 
-d
HTTP Bodyにパラメーターを設定して POSTする場合の値を指定する
 
これらについては下記のサイトを参考にしています。
https://qiita.com/shtnkgm/items/45b4cd274fa813d29539
 
 
ちなみに、Linux(Mac)系では、それぞれの値を囲むのは「’(シングルクォート)」「”(ダブルクォート)」のどちらを使用しても問題ありません。
ですが、Windows系では「’(シングルクォート)」を使用すると正しく処理が実行されずにエラーになりますので注意が必要です。「”(ダブルクォート)」を使用しましょう。
 
 

先の項目で取得した Tokenを利用してカオナビAPIのシートのレコードを取得するサンプルプログラム

 
Tokenを取得したのち、その Tokenを利用して、登録してあるシートのレコードを取得する処理は下記のようになります。
 

 
ヘッダー情報に前項で取得した Tokenを指定して、cURLでアクセスすることでシート情報を取得することができます。
 
また、この処理で取得するシートの情報は結構階層が多い多段階の配列になっています。
そのため、「print_r」「var_export」などを使用して配列の構造を表示させながら、必要な項目の値を取得するといいでしょう。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!
数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!

PHPでintegerとdoubleが混在するような計算をする場合は要注意!計算結果が整数値であっても途中で使用する変数にdoubleの値が入っているときは計算結果がintegerではない場合があります。

PHPで APIにアクセスする際などに使用する cURLのサンプルプログラム
PHPで APIにアクセスする際などに使用する cURLのサンプルプログラム

PHPのcURLを使用して各種APIにアクセスするサンプルプログラムを作成し、その処理を解説。カオナビAPIのみならず、他の多くのAPIにアクセスする際にも使用できる。

リダイレクトループが原因で「ERR_TOO_MANY_REDIRECTS」「このページを表示できません」が出たときの対策12事例+α

リダイレクトループ、自動転送設定ループの原因の解説とその対応方法を含め事例 12例を挙げて説明。

連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説
連想配列のキーも値もまとめてhtmlspecialchars()でサニタイズする関数の作成解説

PHPの配列・連想配列のキーと値をまとめてhtmlspecialchars()関数でサニタイズ(無害化、無毒化)を行う関数を作成。連想配列のキーはarray_map()関数でのサニタイズは無理。

指定した数で文字列を丸める関数substr、mb_substr、mb_strimwidthの違い
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い

文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。

PHPで正規表現の検証には preg_match_allが便利

PHPで正規表現の検証には preg_match_allが便利です。その便利さの使い方の解説です。

WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う
WindowsのXAMPPのPHPではstrptimeは使用不可。代替はdate_parse_from_formatを使う

strptimeはWindowsのPHPには未実装。LinuxとMacで挙動が異なる。PHP8.1で非推奨になる。なので日付のチェックはdate_parse_from_formatを使おう。使い方を詳細解説。

ECCUBEの注文完了画面注文番号と商品情報を編集するCRITEO(クリテオ)タグを編集

ECCUBEの注文完了画面にクリテオのタグを編集する方法を紹介。標準機能では完了画面に注文IDや購入商品の情報を渡さないため改修が必要です。

XML形式の値を配列形式に変換・PHPでは simplexml_load_string()
XML形式の値を配列形式に変換・PHPでは simplexml_load_string()

XMLとは「Extensible Markup Language」の略でテキストベースのデータフォーマット。XMLをPHPで配列に変換するWebツールの紹介とその処理「simplexml_load_string()」関数についての解説。

ECCUBEの問い合わせフォームに任意の値を引数として渡す方法

ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。