# 外部サイトからkintoneに登録された画像データを取得する方法について

**URL:** <https://community.cybozu.dev/t/topic/1756>\
**Category:** kintone 開発相談\
**Created:** [2014 年 7 月 24 日午前 9:01 UTC](https://community.cybozu.dev/t/topic/1756 "2014-07-24T09:01:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1623](https://avatars.discourse-cdn.com/v4/letter/l/a4c791/32.png) [@Legacy\_Account1623](https://community.cybozu.dev/u/Legacy_Account1623)\
**Post date:** [2014 年 7 月 24 日午前 9:01 UTC](https://community.cybozu.dev/t/topic/1756/1 "2014-07-24T09:01:54Z")

</div>

お世話になっております。

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の中身は文字化けしていて何が入っているかは確認できません。

ご協力いただけると幸いです。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account616](https://avatars.discourse-cdn.com/v4/letter/l/b5e925/32.png) [@Legacy\_Account616](https://community.cybozu.dev/u/Legacy_Account616)\
**Post date:** [2014 年 7 月 24 日午前 9:22 UTC](https://community.cybozu.dev/t/topic/1756/2 "2014-07-24T09:22:01Z")

</div>

Kohei Hasebe様  
cstapの落合です。

json\_decodeはJSONデータをデコードする関数です。  
ファイルはJSONデータではないので、取得したデータをそのまま任意のファイルに書き込んで保存してみてください。

一番簡単な保存方法はこんな感じです。  
$fp = fopen(‘test.png’, ‘w’);  
fwrite($fp, $response-\>getBody());  
fclose($fp);

また、リクエストパラメータでの取得ですので、  
$request-\>setBody(json\_encode(array(“app” =\> $appId, “id” =\> $recordId)));  
は必要ないかと思います。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1623](https://avatars.discourse-cdn.com/v4/letter/l/a4c791/32.png) [@Legacy\_Account1623](https://community.cybozu.dev/u/Legacy_Account1623)\
**Post date:** [2014 年 7 月 24 日午前 9:29 UTC](https://community.cybozu.dev/t/topic/1756/3 "2014-07-24T09:29:03Z")

</div>

落合様

お世話になっております。  
一撃必殺で解決できました！  
ありがとうございます！

＞また、リクエストパラメータでの取得ですので、  
その通りでした。失礼いたしました。。。

---

<div class="post-metadata">

**Author:** ![Legacy\_Account616](https://avatars.discourse-cdn.com/v4/letter/l/b5e925/32.png) [@Legacy\_Account616](https://community.cybozu.dev/u/Legacy_Account616)\
**Post date:** [2014 年 7 月 24 日午前 9:36 UTC](https://community.cybozu.dev/t/topic/1756/4 "2014-07-24T09:36:52Z")

</div>

Kohei Hasebe様

解決したようで良かったです！  
また、何かありましたらお気軽にご質問ください(^^)
