エス技研

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.

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

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

  関連記事

PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い
PHPのデバッグで使う print_r、var_dump、var_exportの動作の違い

PHPのデバッグ等で変数や配列の中身を確認するために使用する関数print_r、var_dump、var_exportの動作の違い、仕様の違いについて確認した。var_exportがオススメ。

ECCUBEでカード決済NGの受注情報をマイページ購入履歴に表示しない方法解説

ECCUBEでカード決済に失敗しても購入履歴一覧に注文情報(受注情報)が表示される問題への対処方法を解説。受注情報レコードの作成の流れとステイタスについても解説。

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

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

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

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

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

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

ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について

レンタルサーバでサーバ会社から割り当てられたURLで開発し、本番公開時にドメインを当てたらエラーが!そんな場合の対処方法の解説。対処方法は簡単ですが管理画面からは対応不可。

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

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

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

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

路線・駅検索のために緯度経度からPHPで簡易的に距離を計算する処理解説
路線・駅検索のために緯度経度からPHPで2点間の距離を計算する処理解説

路線・駅検索の仕組みの構築は大変。それを簡易に実装するために緯度経度を元に距離計算をする仕組みを考案。まずは2点間の距離を計算する仕組みを解説し、距離計算にまつわる関連技術も紹介。

PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方

PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。また、マニュアルにはない注意点なども解説。