カテゴリー内の他の記事

ユーザーエクスポートAPI

フォローする

Index

ユーザーエクスポート API(CSV)

ユーザー情報をCSV出力するためのAPIです。

HTTP メソッド

GET

URI

https://{sub-domain}.cybozu.com/v1/csv/user.csv

リクエストヘッダ

ヘッダ 値と説明
X-Cybozu-Authorization 「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。
Authorization Basic認証を利用している場合、文字列「Basic 」と「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。
// Sample
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=

リクエストボディ

必要なパラメータはありません。

レスポンス

ユーザー情報 CSV が HTTP レスポンスボディに含まれています。CSV フォーマットの詳細は ユーザー情報 CSV をご参照ください。

アクセス権

cybozu.com共通管理者のみ実行できます。

ユーザーエクスポート API(JSON)

ユーザー情報 をJSONデータで出力するための API です。

HTTP メソッド

GET

URI

https://(サブドメイン名).cybozu.com/v1/users.json

リクエストヘッダ

ヘッダ 値と説明
X-Cybozu-Authorization 「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。
Authorization Basic認証を利用している場合、文字列「Basic 」と「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。
   
// Sample
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=

リクエストパラメータ

パラメータ名 指定する値 必須 説明
ids 配列 省略可(省略時は最大100)。 取得したいユーザーのID一覧。
codes 配列 省略可(省略時は最大100)。 取得したいcode一覧。
offset 数値

省略可(省略時は0)。

オフセット。
size 数値 省略可(省略時は最大100)。 取得件数。

リクエストの例

※idsとcodesの両方が指定された場合は、エラーになります。

クエリ文字列
ids[0]=1&ids[1]=2&ids[2]=3&offset=0&size=100
リクエストヘッダを含んだ文字列
GET /v1/users.json?ids[0]=1&ids[1]=2&ids[2]=3&offset=0&size=100 HTTP/1.1
Host: example.cybozu.com:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
  • Content-Typeヘッダは不要です。

レスポンス

キー 制約
user user型 ユーザ情報

 

アクセス権

全ユーザーでアクセス可能です。

※kintoneのゲストユーザはアクセスできません。

記事に関するフィードバック

直接的に記事と関連がないご質問はcybozu developer コミュニティをご活用ください。

Avatar
TAKA

いつもお世話になっております。

このページで紹介されているユーザーエクスポート API(JSON)について、
PHPで外部から取得する場合、どのように記述するのでしょうか。

PHP Tipsの情報を参考に、このページのリクエストの内容をPHPに置き換えてみたのですが、条件パラメータが効いておらず、アカウント情報が毎回、全件抽出されてしまいます。

 $context = array(
"http" => array(
"method" => 'GET',
"header" => implode("\r\n", $header),
"content" => json_encode(array("query" => 'ids=1 and ids=2 limit 100 offset 0'))
)
);
$result = file_get_contents(
"https://" . $subDomain . ".cybozu.com/v1/users.json",
false,
stream_context_create($context)
);

$context内のqueryが無視されている感じです。
試しに$result内のURLに直接
~v1/users.json?ids[0]=1&ids[1]=2&offset=0&size=100
のように記載してみましたが、これも結果は同じでした。

ご教授いただけますよう、よろしくお願い申し上げます。

TAKAにより編集されました
Avatar
cybozu Development team

TAKA様

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

ユーザーエクスポートAPIはkintone APIと異なりqueryをサポートしていません。

Avatar
TAKA

cybozu Development teamさま

回答ありがとうございます。

URLで「ids[0]=1&ids[1]=2&ids[2]=3&offset=0&size=100」というように指定できるようになっていますが、
これをqueryで指定する方法はないということでしょうか。

Avatar
cybozu Development team

TAKA様

はい、リクエストボディでのクエリ指定ができないので、クエリ文字列をURLに含める形になります。
ご確認よろしくお願いします。

Avatar
TAKA

cybozu Development teamさま

何度も恐縮ですが、確認でございます。

仰る通りqueryでの指定はできませんでしたので、file_get_contentsのURLに「ids[0]=1&ids[1]=2&ids[2]=3&offset=0&size=100」を追加してみましたが、これも無視され、全件抽出されました。

$result = file_get_contents(
"https://" . $subDomain . ".cybozu.com/v1/users.json?ids[0]=1&ids[1]=2&ids[2]=3&offset=0&size=100",
false,
stream_context_create($context)
);

PHPでは条件指定で抽出する方法はないという認識で間違いないでしょうか?

Avatar
cybozu Development team
TAKA様
 
手元でも確認したところ、指定したidのユーザー情報のみ取得できました。
今一度コードのご確認をお願いします。
 
<?php

// サブドメイン
$subDomain = "×××";

// ユーザー認証
$loginName = "×××"; // ログイン名
$password = "×××"; // パスワード

// リクエストヘッダ
$header = array(
"Host: ".$subDomain.".cybozu.com:443",
"X-Cybozu-Authorization: ".base64_encode($loginName.':'.$password)
);

// HTTPコンテキスト
$context = array(
"http"=>array(
"method"=>'GET',
"header"=>implode("\r\n",$header)
)
);

// REST APIでフォーム設計情報を取得
$result = file_get_contents(
"https://".$subDomain.".cybozu.com/v1/users.json?ids[0]=1",// URI
false,// use_include_pathは必要ないのでfalse
stream_context_create($context) // コンテキストの生成
);

// ダンプ出力
var_dump(json_decode($result, true));

?>
cybozu Development teamにより編集されました
Avatar
TAKA

cybozu Development teamさま

ご丁寧なお返事をいただきありがとうございました。

指定したidのみ出力できたとのこと、ご提示いただいたコードはこちらで試したものと変わらない内容ですので、私のコードがどこか間違っていたのかもしれません。
再度見直しを行ないます。
お騒がせして申し訳ございませんでした。

Avatar
cybozu Development team

TAKA 様

とんでもございません。またご不明な点がございましたら、お気軽にコミュニティなどご活用ください。

ログインしてコメントを残してください。