お世話になります。
初心者でkintoneのみならず、PHP等もやり始めたばかりなので、初歩的な質問および的外れなことをお聞きするかもしれませんが、ご了承ください。
実現したいこととしては、
1.外部サーバー(レンタルサーバー)に(PHPにて)フォームを設置 <設置済み
2.フォームには、文字列、ラジオボタン、添付ファイルがある <作成済み(フォームの項目とkintoneのフィールドIDは揃えてあります)
3.上記フォームSubmit時に入力された内容を添付ファイルも含めてkintoneへ登録する
下記のナレッジを基に、ひとまずは添付ファイル以外なら登録が出来るところまで来たのですが、添付ファイルはfilekey?のやりとり?が必要とのことで、どのようなコードを書けばよいのか、記事を読むと読むほどわからなくなってしまいました。
そもそも今やっているコードでは根本的にやり方が違うのでしょうか?
もっとスマートなやり方がありましたらご教示いただけますと幸いです。
参考ナレッジ
・https://developer.cybozu.io/hc/ja/articles/211657163–Movable-Type-%E3%81%A8kintone%E3%82%92%E9%80%A3%E6%90%BA%E3%81%97%E3%81%A6%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92DB%E5%8C%96%E3%81%97%E3%82%88%E3%81%86
・https://developer.cybozu.io/hc/ja/community/posts/202060640-php%E3%81%AB%E3%82%88%E3%82%8B%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89?input_string=PHP%20%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%A7%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB
<?php
// kintoneのアプリ情報を設定
$subdomain = 'subdomain';
$appid = '00';
$token = 'e ********************************************';
$header = array(
'Host: ' . $subdomain . '.cybozu.com:443',
'Content-Type: application/json',
'X-Cybozu-API-Token: ' . $token,
);
// フォームの値を取得
$name = htmlspecialchars($_POST["name"]);
$mail = htmlspecialchars($_POST["mail"]);
$radio = htmlspecialchars($_POST["radio"]);
$message = htmlspecialchars($_POST["message"]);
// フォームから投稿用のjsonを作成
$array[] = array(
"name" => array(
"value" => $name
),
"mail" => array(
"value" => $mail
),
"radio" => array(
"value" => $radio
),
"message" => array(
"value" => $message
),
);
$json = array(
"app" => $appid,
"records" => $array,
);
$json = json_encode($json);
// kintone へ post
$post_context = array(
"http" => array(
"method" => "POST",
"header" => implode("\r", $header),
"content" => $json,
"ignore_errors" => "true",
)
);
$response = file_get_contents(
'https://' . $subdomain. '.cybozu.com/k/v1/records.json',
false,
stream_context_create($post_context)
);
$pos = strpos($http_response_header[0], '200');
if ($pos === false) {
echo "データの登録ができませんでした。お手数ですが再度登録下さい。";
} else {
echo "データの登録が完了しました。";
}
?>