お世話になっております。
kintoneに登録されている画像データを外部サイトで取得・表示させたいと考えていますが、うまくいきません。
pearのHTTP_Request2を使用してkintoneに接続しています。
以下ソースコードになります。
<?php
// HTTP_Request2
require_once ‘HTTP/Request2.php’;
// 認証設定
$subDomain = “subDomain”;
$loginName = “loginName”;
$password = “password”;
// アプリID
$appId = 48;
//レコードID
$recordId = 3304;
/省略(filekeyの取得のために一度接続してレコード情報を取得)/
$fileKey = $data[“record”][“添付ファイル”][“value”][0][“fileKey”];
// リクエストヘッダ
$header = array(
"Host: " . $subDomain . “.cybozu.com:443”,
“Content-Type: application/json”,
"X-Cybozu-Authorization: " . base64_encode($loginName . ‘:’ . $password)
);
// リクエスト作成
unset ($request);
$request = new HTTP_Request2();
$request->setHeader($header);
$request->setUrl(“https://” . $subDomain . “.cybozu.com/k/v1/file.json?fileKey=” . $fileKey);
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setBody(json_encode(array(“app” => $appId, “id” => $recordId)));
$request->setConfig(array(
‘ssl_verify_host’ => false,
‘ssl_verify_peer’ => false
));
// レスポンス取得
$response = $request->send();
if ($response->getStatus() != “200”) {
echo sprintf(“status: %s”, $response->getStatus());
echo sprintf(“cybozu error: %s”, $response->getHeader(‘x-cybozu-error’));
echo sprintf(“body: %s”, $response->getBody());
die;
}
$data = json_decode($response->getBody(), false);
echo $data;
?>
print_rで$responseの内容を見てみるとbodyにはなにかしらのデータが返ってきているのですが、json_decodeをすると中身がNULLになるという状況です。
bodyの中身は文字化けしていて何が入っているかは確認できません。
ご協力いただけると幸いです。