エス技研

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.

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

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

  関連記事

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

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

Smartyのテンプレート内の処理で計算、加工をする方法

Smartyのテンプレート上で変数を計算する、加工する方法を解説します。

数値文字参照コード変換ツール(HTML特殊文字コード変換ツール)

テキストを数値文字参照コード(特殊文字コード)に変換するツール。テキストを数値文字参照コードに簡単変換。数値文字参照、文字実体参照、特殊文字などの違いも解説。

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

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

PHPで特定の日間の日付を for、strtotimeで表示する

ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。

include、requireのパス指定をdirname(__FILE__)、__DIR__と書く理由

include、requireのパスの指定を dirname(__FILE__)、__DIR__で記述する理由に付いて解説。相対パス、絶対パスを直書き、パスを書かない場合は何が問題かを説明。

QRコード(二次元バーコード)作成サービスを公開
QRコード(二次元バーコード)作成サービスを公開

QRコード(二次元バーコード)を生成するサービス。QRコードにする文字列を入力するだけで QRコードが簡単に作れる。オプションとして、画像サイズ、余白サイズ、エラー訂正レベルがある。

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

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

ECCUBE2.13.3で商品規格の在庫数が無制限から変更できないバグがある

2.13.3固有のバグである商品規格の在庫数の入力エリアがアクティブにならない不具合を解消する解説です。product_class.tplの2行を修正するだけの簡単対応です。

PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う
PHPで1ヵ月前、先月、今月1日、来月末の日付などの算出はDateTimeImmutableを使う

PHPには日時をオブジェクトとして生成する関数「DateTimeImmutable」「DateTime」が用意されている。これを利用して1ヶ月後、月初日、月末日、5日後などを指定して日付を取得できる。