Contoh ini berbasis aplikasi internal dan menunjukkan cara mengambil detail pengguna dari Kontak dengan memanggil API. Pendekatan yang sama berlaku untuk tipe aplikasi lainnya.
Prasyarat
- Konsep dasar: Pahami konsep dasar DingTalk Open Platform dan dokumentasi setiap modul produk. Lihat dokumentasi konsep dasar untuk detailnya.
- Batas laju API: Pahami batas laju API. Lihat dokumentasi frekuensi pemanggilan API dan batas laju untuk detailnya.
- Izin developer: Miliki izin Sub Admin dan developer di Developer Backend. Anda juga dapat masuk ke DingTalk Developer untuk mendaftar dan mengaktifkan pengguna baru.
- Peroleh
UserIdpengguna: Masuk ke DingTalk Admin Console dan lihatUserIddi bawah Contacts > User management. Lihat dokumentasi konsep dasar untuk detailnya.
Langkah 1: Buat aplikasi DingTalk
- Buka Developer Backend dan klik App Development > DingTalk App > Create app.
-
Masukkan informasi aplikasi dan klik Save.
- Buka halaman detail aplikasi dan lihat kredensial serta informasi dasar aplikasi di bawah Basic information > Credential and basic information.
- Simpan Client ID dan Client Secret aplikasi untuk pemanggilan API berikutnya.
Catatan
Untuk detail cara memperoleh Client ID dan Client Secret, lihat dokumentasi konsep dasar. Simpan dengan aman setelah Anda memperolehnya untuk mencegah kebocoran.Langkah 2: Konfigurasikan izin
-
Temukan izin yang diperlukan: Menurut dokumentasi API, pemanggilan API detail pengguna memerlukan izin
Read user information. -
Tambah izin: Buka Developer Backend, temukan aplikasi yang Anda buat, buka halaman detail aplikasi, cari
Read user informationdi bawah Kelola izin, dan klik Apply now.
Langkah 3: Peroleh Access Token
API izin standar
Panggil API untuk memperoleh Token
- Buka halaman API Obtain the access token of an internal app dan klik tombol API Debug di sebelah kanan untuk membuka alat debugging sisi server.
- Di alat debugging, ganti nilai
appkey (ganti dengan Client ID yang Anda peroleh sebelumnya)danappSecret (ganti dengan Client Secret yang Anda peroleh sebelumnya), lalu klik Debug.
Penting
Anda harus masuk untuk menggunakan konsol debugging sisi server dan harus mengikat aplikasi yang sesuai. Anda juga dapat menyalin kode di bawah ini dan menggunakan perintah cURL. Ganti nilaiappkey (dengan Client ID yang Anda peroleh sebelumnya) dan appSecret (dengan Client Secret yang Anda peroleh sebelumnya), lalu kirim permintaan secara langsung. Contoh:
Parsing respons
Setelah panggilan berhasil, sebuah nilai access token akan dibuat, seperti ditunjukkan di bawah ini:Cache dan muat ulang
- Simpan
access_tokendalam cache di database atau memori dan siapkan pembaruan terjadwal (10 menit sebelum kedaluwarsa). - Hindari memanggil API Token terlalu sering, karena dapat memicu batas laju.
API izin sensitif
Untuk mengaktifkan berbagi data dan pemanggilan fitur lintas organisasi, aplikasi pihak ketiga harus melalui proses otorisasi yang ketat. Aplikasi perlu memperoleh izin penggunaan dan izin akses data pengguna dari organisasi target melalui otorisasi tingkat organisasi maupun tingkat pengguna.Ajukan izin API
Ajukan izin API sesuai dokumentasi Use sensitive permissions.Integrasikan suite otorisasi
Setelah mengajukan izin sensitif, integrasikan suite otorisasi. Ketika pengguna menerima otorisasi pada prompt, sebuahauthCode akan dikembalikan. Kemudian panggil API Obtain user token untuk menukarnya dengan access_token tingkat pengguna.
Langkah 4: Panggil API detail pengguna
API izin standar
Untuk mengambil detail pengguna, panggil API Query user details. Anda dapat menggunakan DingTalk SDK atau mengirim permintaan HTTP secara langsung. Pilih metode yang sesuai dengan kebutuhan Anda.Opsi 1: Gunakan DingTalk SDK (direkomendasikan)
Sebelum menggunakan DingTalk SDK, pelajari perbedaan dalam Server API, lalu unduh versi SDK yang sesuai. Lihat dokumentasi perbedaan Server API untuk detailnya.
-
Instal SDK (contoh Python)
-
Contoh kode
Opsi 2: Kirim permintaan HTTP secara langsung
Respons berhasil
Jika respons berisi"errcode":"0" dan "errmsg":"ok", panggilan berhasil.
Penanganan error
- Izin tidak memadai: Periksa apakah izin
Read user informationtelah diajukan. - Pengguna tidak ada: Pastikan
useridvalid dan bebas dari kesalahan ketik. - Token kedaluwarsa: Muat ulang
access_tokendan coba lagi. Pastikanaccess_tokenvalid dan bebas dari kesalahan ketik.
API izin sensitif
Setelah menukarauthCode dengan access_token tingkat pengguna, panggil Retrieve user profile from Contacts untuk memperoleh nama, unionId, dan informasi lain pengguna.
Jika API mengembalikan 200, panggilan berhasil. Responsnya adalah sebagai berikut: