お世話になります。
ユーザーインポートのAPIを使用して、登録、更新、削除を
自動(バッチ)処理するものを作りたいと思っています。
https://(サブドメイン名).cybozu.com/v1/users.jsonで
jsonで情報を与えるのでしょうか?
100件単位での処理を考えているので、データはjosn形式の
ファイルを用意する予定です。
JAVAのサンプルがあったのでHttpURLConnectionにセットする
のだろうとは推測がつくのですが、jsonファイルをHttpURLConnection
にどのようにセットするのか教えて頂けないでしょうか。
サンプルのjavaソースがMapを使用したり複雑だったので
以下のように抜粋してみました。
jsonファイルをアップロードのような記述もあるのですが
その後どう扱うか読み取れず苦労しています。
よろしくお願いいたします。
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
public class HttpSendJSON {
public Strin testURL(String strPostUrl, String JSON) {
String auth:
String ContentType:
HttpURLConnection httpsConn = null;
URL url = new URL(“https://(サブドメイン名).cybozu.com/v1/users.json”);
try {
httpsConn = (HttpsURLConnection)url.openConnection();
httpsConn.setConnectTimeout(30000);
httpsConn.setRequestMethod(“PUT”);
this.auth = Base64.getEncoder().encodeToString((“(ログインID):(パスワード)”).getBytes());
httpsConn.addRequestProperty(“X-Cybozu-Authorization”, auth);
this.ContentType=“multipart/form-data;boundary=boundary_aj8gksdnsdfakj342fs3dt3stk8g6j32”
httpsConn.setRequestProperty(“Content-Type”, ContentType);
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (con != null) {con.disconnect(); }
}
return “return Valuse”;
}
}
こんにちは。
Javaは全く分かりませんし、プログラマー ではないためプログラムの書き方は説明できませんので、分かる範囲だけ。
ユーザーインポートのAPIを使用して、登録、更新、削除を
自動(バッチ)処理するものを作りたいと思っています。
https://(サブドメイン名).cybozu.com/v1/users.jsonで
jsonで情報を与えるのでしょうか?
合っていると思います。User API を利用してJSON形式のデータを渡すことで可能です。
https://developer.cybozu.io/hc/ja/articles/202111404#step2
基本的な考え方はkintoneのUser APIを利用する限り、kintoneにアップロードしたJavaScriptで実行するのと方法はそれほど変わらないかと思います。
curlを利用してコマンドラインからユーザーを登録する方法は下記の通りです。
curl -X POST -H “X-Cybozu-Authorization:BASE64_ENCODED_STRING” -H ‘Content-Type: application/json’ -d ‘{“users”:[{“code”: “demoUser1”, “valid”: false, “password”: PASSWORD, “name”: “デモユーザー1”}]}’ ‘https://sub-domain.cybozu.com/v1/users.json’
https://developer.cybozu.io/hc/ja/articles/360023068751-curl-%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%A7-kintone-REST-API-%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86#post
おそらくJavaでも同様の方法で可能かと思います。
5MP2 様
コメントありがとうございます!
Web Apiを使用した事がないのでApiの勝手もわからず
加えてサンプルがJavaなのでどう手をつけていいか
わからず困っていましたのでものすごく助かります。
教えて頂いたサイト、curlで試してみます。
ありがとうございました!