新規投稿
フォローする

ユーザーインポートAPI(JSON)の指定の方法について

お世話になります。

ユーザーインポートの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";
    }
}
---------------------------

1

2件のコメント

Avatar
5MP2

こんにちは。

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でも同様の方法で可能かと思います。

0
Avatar
michel

5MP2 様

コメントありがとうございます!

Web Apiを使用した事がないのでApiの勝手もわからず
加えてサンプルがJavaなのでどう手をつけていいか
わからず困っていましたのでものすごく助かります。

教えて頂いたサイト、curlで試してみます。
ありがとうございました!

0
サインインしてコメントを残してください。