API 呼び出し説明
電話番号やメールなどの権限を取得する必要がある場合、アプリタイプによって取得方法が異なります。- 社内アプリ 社内アプリでユーザーの電話番号、メール情報を取得するには、連絡先の電話番号とメールを取得する権限を追加する必要があります。追加方法は以下のとおりです。 DingTalk 開発者管理画面 にログイン > 社内開発 > 権限を追加するアプリを選択 > 権限管理 > 連絡先管理 ページで、企業社員の電話番号情報 と メールなどのプロフィール情報 にチェックを入れ、権限をリクエスト をクリックします。
- サードパーティ社内アプリ
リクエスト
| ベーシック情報 | |
|---|---|
| HTTP URL | https://api.dingtalk.io/topapi/v2/user/get |
| HTTP Method | POST |
| サポートされるアプリタイプ | appType-社内アプリ appType-サードパーティ社内アプリ |
| 権限要件 | permission-qyapi_get_member-ユーザー情報の読み取り権限 |
クエリパラメータ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| access_token | String | はい | be3Fxxxx | この API を呼び出すためのアプリ認証情報。 - 社内アプリの場合、社内アプリの access_token を取得する API で取得します。 - サードパーティ社内アプリの場合、サードパーティ企業の access_token を取得する API で取得します。 |
リクエストボディ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| userid | String | はい | manager4220 | ユーザーの UserId。 |
| language | String | いいえ | zh_CN | 連絡先の言語。 - zh_CN:中国語(デフォルト) - en_US:英語 |
| login_id | String | いいえ | test | ログイン名。空でない場合、userid は無視されます。 説明 ログイン名で検索する場合、自社所属の DingTalk 自社作成企業アカウントに限ります。 |
リクエスト例
curl -X POST "https://api.dingtalk.io/topapi/v2/user/get" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=a894388c-a1b9-4ab4-8623-99cd0502019f' \
-d 'language=zh_CN' \
-d 'login_id=zhangsan' \
-d 'userid=zhangsan'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/get");
OapiV2UserGetRequest req = new OapiV2UserGetRequest();
req.setUserid("zhangsan");
req.setLanguage("zh_CN");
req.setLoginId("zhangsan");
OapiV2UserGetResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
import dingtalk.api
req=dingtalk.api.OapiV2UserGetRequest("https://api.dingtalk.io/topapi/v2/user/get")
req.userid="zhangsan"
req.language="zh_CN"
req.login_id="zhangsan"
try:
resp= req.getResponse(access_token)
print(resp)
except Exception,e:
print(e)
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');
$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiV2UserGetRequest;
$req->setUserid("zhangsan");
$req->setLanguage("zh_CN");
$req->setLoginId("zhangsan");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/v2/user/get");
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/get");
OapiV2UserGetRequest req = new OapiV2UserGetRequest();
req.Userid = "zhangsan";
req.Language = "zh_CN";
req.LoginId = "zhangsan";
OapiV2UserGetResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
レスポンス
レスポンスボディ
| 名前 | タイプ | 例 | 説明 |
|---|---|---|---|
| request_id | String | 4e7exhl6pm0t | リクエスト ID。 |
| errcode | Number | 0 | 戻りコード。 |
| errmsg | String | ok | 戻りコードの説明。 |
| result | Object | 戻り結果。 | |
| userid | String | zhangsan | 社員の UserId。 |
| unionid | String | z21HjQliSzpw0YWCNxmii6u2Os62cZ62iSZ | 現在の開発者企業アカウントの範囲内における社員の一意の識別子。 |
| name | String | 山田太郎 | 社員の名前。 |
| avatar | String | xxx | プロフィール写真。 説明 - 社員がデフォルトのプロフィール写真を使用している場合、このフィールドは返されません。 - 社員が手動でプロフィール写真を設定した場合は、このフィールドが返されます。 |
| state_code | String | 86 | 国際電話の国番号。 説明 サードパーティ社内アプリでは返されません。state_code を取得するには、DingTalk 統合権限付与スイートを利用してください。 |
| mobile | String | 13800138000 | 電話番号。 説明 - 社内アプリでこのフィールドが返されない場合は、現在のアプリの連絡先権限において 企業社員の電話番号情報権限 がオンになっているかを確認してください。 - サードパーティ社内アプリでは返されません。mobile を取得するには、DingTalk 統合権限付与スイートを利用してください。 |
| hide_mobile | Boolean | false | 電話番号を非表示にするかどうか: - true:非表示 - false:表示 説明 電話番号を非表示にすると、プロフィールページでは電話番号が非表示になりますが、引き続き DING の送信や DingTalk ビジネス通話の発信が可能です。 |
| telephone | String | 010-86123456-2345 | 内線番号。 説明 サードパーティ社内アプリでは返されません。 |
| job_number | String | 4 | 社員の社員番号。 |
| title | String | テクニカルディレクター | 職位。 |
| String | test@xxx.com | 社員のメール。 説明 - 社内アプリでこのフィールドが返されない場合は、現在のアプリの連絡先権限において メールなどのプロフィール情報 権限がオンになっているかを確認してください。 - サードパーティ社内アプリでは返されません。email を取得するには、DingTalk 統合権限付与スイートを利用してください。 | |
| org_email | String | test@xxx.com | 社員のエンタープライズメール。 社員のエンタープライズメールが開通されていない場合、戻り情報にこのデータは含まれません。 説明 サードパーティ社内アプリでは返されません。 |
| work_place | String | フューチャーパーク | 勤務地。 説明 - 社内アプリでこのフィールドが返されない場合は、現在のアプリの連絡先権限において メールなどのプロフィール情報 権限がオンになっているかを確認してください。 - 社員情報パネルでこのフィールドに値がある場合のみ返されます。 - サードパーティ社内アプリでは返されません。 |
| remark | String | 表示名表示名 | 表示名。 説明 - 社内アプリでこのフィールドが返されない場合は、現在のアプリの連絡先権限において メールなどのプロフィール情報 権限がオンになっているかを確認してください。 - 社員情報パネルでこのフィールドに値がある場合のみ返されます。 - サードパーティ社内アプリでは返されません。 |
| dept_id_list | Number[] | [2,3,4] | 所属部門 ID のリスト。 |
| dept_order_list | Object[] | 該当部門における社員の並び順。 | |
| dept_id | Number | 2 | 部門 ID。 |
| order | Number | 1 | 部門内における社員の並び順。 |
| extension | String | {"趣味":"旅行","年齢":"24"} | 拡張属性。最大長は 2000 文字。 説明 - 社内アプリでこのフィールドが返されない場合は、現在のアプリの連絡先権限において メールなどのプロフィール情報 権限がオンになっているかを確認してください。 - 社員情報パネルで追加した拡張フィールドに値がある場合のみ返されます。 - サードパーティ社内アプリでは返されません。 |
| hired_date | Number | 1597573616828 | 入社日。Unix タイムスタンプ、単位はミリ秒。 説明 - サードパーティ社内アプリでは返されません。 - 情報パネルの 入社日 フィールドに値がある場合のみ返されます。 |
| active | Boolean | true | DingTalk を有効化しているかどうか: - true:有効化済み - false:未有効化 |
| real_authed | Boolean | true | 実名認証が完了しているかどうか: - true:認証済み - false:未認証 |
| senior | Boolean | true | 企業の役員かどうか: - true:はい - false:いいえ |
| admin | Boolean | true | 企業の管理者かどうか: - true:はい - false:いいえ |
| boss | Boolean | true | 企業のオーナーかどうか: - true:はい - false:いいえ |
| leader_in_dept | Object[] | 社員の所属部門情報と、リーダーであるかどうか: - 社員が所属する部門の部門 ID。 - 社員が該当部門のリーダーであるかどうか: - true:はい - false:いいえ | |
| dept_id | Number | 2 | 部門 ID。 |
| leader | Boolean | true | リーダーであるかどうか: - true:はい - false:いいえ |
| role_list | Object[] | ロールリスト。 | |
| id | Number | 100 | ロール ID。 |
| name | String | ディレクター | ロール名。 |
| group_name | String | 職務 | ロールグループ名。 |
| exclusive_account | Boolean | true | 企業アカウントかどうか: - true:はい - false:いいえ |
| union_emp_ext | Object | ユーザーが関連組織から来た場合の関連情報。 説明 ユーザーが所属する企業に関連関係を持つ企業が存在する場合、このフィールドが返されます。 | |
| userid | String | 500 | 社員の UserId。 |
| union_emp_map_list | Object[] | 関連マッピング関係。 | |
| userid | String | 5000 | 関連分岐組織における社員の UserId。 |
| corp_id | String | dingxxx | 関連分岐組織の企業 CorpId。 |
| corp_id | String | dingxxx | 現在のユーザーが所属する組織の企業 CorpId。 |
| exclusive_account_type | String | dingtalk | 企業アカウントのタイプ: - sso:企業自社作成の企業アカウント - dingtalk:DingTalk 自社作成の企業アカウント 説明 企業アカウントの場合のみこのフィールドが返されます。 |
| login_id | String | login_id3 | DingTalk 自社作成企業アカウントのログイン名。 説明 自社所属の DingTalk 企業アカウントの場合のみこのフィールドが返されます。 |
| manager_userid | String | manager240 | 社員の直属の上司。 説明 社員の企業管理画面のプロフィールパネルにおいて 直属の上司 に値がある場合のみ、このフィールドが返されます。 |
| org_email_type | String | profession | 社員のエンタープライズメールのタイプ: - profession:標準版 - base:ベーシック版 |
| nickname | String | 名前 | 社員の名前。 説明 自社所属の DingTalk 企業アカウントの場合のみこのフィールドが返されます。 |
| exclusive_account_corp_name | String | 組織名 | 企業アカウントが所属する組織の組織名。 説明 企業アカウントにのみ適用され、この企業アカウントを作成した組織を返します。 |
| exclusive_account_corp_id | String | dingxxx | 企業アカウントが所属する組織の組織 CorpId。 説明 企業アカウントにのみ適用され、この企業アカウントを作成した組織を返します。 |
| disable_status | Boolean | false | 自社の企業アカウントの停止状態: - true:停止 - false:有効化完了 説明 自社所属の DingTalk 企業アカウントの場合のみこのフィールドが返されます。 |
レスポンスボディ例
{
"errcode":"0",
"result":{
"exclusive_account_type":"dingtalk",
"extension":"{\"趣味\":\"旅行\",\"年齢\":\"24\"}",
"unionid":"z21HjQliSzpw0YWCNxmii6u2Os62cZ62iSZ",
"boss":"true",
"role_list":{
"group_name":"職務",
"name":"ディレクター",
"id":"100"
},
"exclusive_account":"true",
"manager_userid":"manager240",
"admin":"true",
"remark":"備考備考",
"title":"テクニカルディレクター",
"hired_date":"1597573616828",
"userid":"zhangsan",
"org_email_type":"profession",
"work_place":"フューチャーパーク",
"dept_order_list":{
"dept_id":"2",
"order":"1"
},
"real_authed":"true",
"nickname":"名前",
"dept_id_list":"[2,3,4]",
"job_number":"4",
"email":"test@xxx.com",
"leader_in_dept":{
"leader":"true",
"dept_id":"2"
},
"login_id":"login_id3",
"exclusive_account_corp_name":"組織名",
"mobile":"13800138000",
"active":"true",
"telephone":"010-86123456-2345",
"avatar":"xxx",
"hide_mobile":"false",
"exclusive_account_corp_id":"dingxxx",
"senior":"true",
"org_email":"test@xxx.com",
"name":"山田太郎",
"union_emp_ext":{
"union_emp_map_list":{
"userid":"5000",
"corp_id":"dingxxx"
},
"userid":"500",
"corp_id":"dingxxx"
},
"state_code":"86"
},
"errmsg":"ok"
}
エラーコード
この API を呼び出してエラーが発生した場合、エラーメッセージを基に グローバルエラーコード ドキュメントで解決方法を検索できます。| エラーコード(errcode) | エラーコードの説明(errmsg) | 解決方法 |
|---|---|---|
| 33012 | 無効な userId | userId が正しいか確認してください |
| 400002 | 無効なパラメータ | パラメータが要件どおりに入力されているか確認してください |
| -1 | システムビジー | 後で再試行してください |