SQLの窓

2016年03月19日


kintone API のトークンを使った PHP コードの注意点

基本操作

これはセミナーとか行かないと直感的には失敗してしまいます。設定を変更したら最後に必ず「設定完了」ボタンをクリックして変更を確定させる必要があります



なので、トークンを生成して保存だけでは使え無いので注意です

▼ 以下、サイボウズ株式会社より返答された内容です
<作成手順> 
 1.アプリ右上の歯車マークより、アプリの設定画面を開きます。 
 
 2.画面下部の「詳細設定」をクリックします
 
 3.「APIトークン」をクリックします
 
 4.「生成する」をクリックします
 
 5.生成された APIトークンに対して、許可する操作のチェックボックス
    を選択します
 
 6. 画面左上の「保存」をクリックします
  
 7.「設定完了」をクリックします
 ※トークン作成後、アプリの設定画面にて、「設定完了」ボタンを
   押下する必要がございます。
API の呼び出し方のバリエーション HTTP ヘッダに Content-Type: application/json を指定すると、URL では無くデータとして送信する必要があります。以下のサンプルでは、curl では URL で渡すほうが簡単で解りやすいので Content-Type を指定していません。 PHP の環境 file_get_contents で API の URL を使用するには、php.ini で allow_url_fopen = On である必要があります。また、https を使用する為に、Windows では extension=php_openssl.dll が有効である必要があります。 curl を利用するには、Windows では extension=php_curl.dll が有効である必要があります ※ curl の オプションでの ssl の指定は、Windows(5.4.13) でも、WEB(5.4.45) でも必要ありませんでした
<?php
header( "Content-Type: text/html; Charset=utf-8" );
header( "pragma: no-cache" );
header( "Expires: Wed, 31 May 2000 14:59:58 GMT" );
header( "Cache-control: no-cache" );

print "<pre>";
 
// サブドメイン
$subDomain = "サブドメイン";
// トークン
$token = "トークン";
$apiURI = "https://" . $subDomain . ".cybozu.com/k/v1/records.json";

// リクエストヘッダ(1) : パラメータを json で渡す
$header1 = array(
	"Host: " . $subDomain . ".cybozu.com:443",
	"Content-Type: application/json",
	"X-Cybozu-API-Token: ". $token
);
// リクエストヘッダ(2) : パラメータを URL で渡す
$header2 = array(
	"Host: " . $subDomain . ".cybozu.com:443",
	"X-Cybozu-API-Token: ". $token
);

// アプリID
$appId = 1;
 
// *************************************
// HTTPコンテキスト1 ( content 指定 )
// *************************************
$context = array(
	"http" => array(
		"method" => 'GET',
		"header" => implode("\r\n", $header1),
		"content" => json_encode(array("app" => $appId))
	)
);
 
// REST API
$result = file_get_contents(
	$apiURI,
	false,
	stream_context_create($context) // コンテキストの生成
);
 
// 連想配列でダンプ出力 
var_dump( json_decode($result, true) );

print "--------------------------------------\n";

// *************************************
// HTTPコンテキスト2 ( content なし )
// *************************************
$context = array(
	"http" => array(
		"method" => 'GET',
		"header" => implode("\r\n", $header2)
	)
);
 
// REST API
$result = file_get_contents(
	$apiURI . "?app=" . $appId,
	false,
	stream_context_create($context) // コンテキストの生成
);
 
// 連想配列でダンプ出力 
var_dump( json_decode($result, true) );

print "--------------------------------------\n";

$curl = curl_init();
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $apiURI . "?app=" . $appId);

// *************************************
// http ヘッダ作成
// *************************************
$header = $header2;

curl_setopt($curl, CURLOPT_HTTPHEADER, $header);

// *************************************
// https 用 ( 無くても動作しています )
// *************************************
//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);


// *************************************
// 送信
// *************************************
$result = curl_exec($curl);
if($result === false) {
	$json = json_decode("{}");
}
else {
	// echo 'Operation completed without any errors';
	$json = json_decode($result);
}
curl_close($curl);


// 連想配列でダンプ出力 
var_dump(json_decode($result, true));

print "</pre>";

?>


ログイン名 と パスワード を使用したサンプルは、サイボウズの REST APIの認証設定について にあります。
 


タグ:API kintone PHP
posted by lightbox at 2016-03-19 20:51 | kintone | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり