Topik ini menjelaskan kelas PDSClient, termasuk metode konstruksi, metode publik, dan pendengar acara.
Metode konstruksi PDSClient
Membuat instance PDSClient yang dapat memanggil semua Operasi API dari Layanan Foto dan Drive (PDS).
const client = new PDSClient(config, context);Parameter permintaan
Parameter | Tipe | Diperlukan | Deskripsi |
config | IClientParams | Ya | Untuk informasi lebih lanjut, lihat bagian |
context | IContext | Konteks lingkungan runtime. Untuk informasi lebih lanjut, lihat bagian |
IClientParams
Parameter | Tipe | Diperlukan | Deskripsi |
token_info | TokenInfo | Informasi tentang | |
share_token | string | Token berbagi. | |
api_endpoint | string | Y1 | Titik akhir API PDS. Dalam kebanyakan kasus, formatnya adalah |
path_type | string | Mode penyimpanan data domain. Hanya mendukung | |
version | string | Nomor versi. Hanya mendukung | |
refresh_token_fun | Function | Metode callback untuk dipanggil ketika | |
refresh_share_token_fun | Function | Metode callback untuk dipanggil ketika |
Anda harus menentukan salah satu parameter
api_endpointatauauth_endpoint.
TokenInfo
Parameter | Tipe | Diperlukan | Deskripsi |
access_token | string | Ya |
|
refresh_token | string |
| |
expire_time | string | Waktu kedaluwarsa dari | |
expires_in | string | Periode validitas dari | |
token_type | string | Tipe dari | |
user_id | string | ID unik dari pengguna saat ini. | |
role | string | Peran yang diasumsikan oleh pengguna saat ini. | |
Parameter lainnya | Untuk informasi lebih lanjut, lihat Token. |
IContext
Parameter | Tipe | Diperlukan | Deskripsi |
isNode | boolean | Ya | Menentukan apakah lingkungan adalah lingkungan Node.js. |
Axios | object | Ya | Untuk informasi lebih lanjut, lihat axios - npm. |
AxiosNodeAdapter | object | Parameter | |
platform | string |
Nilai yang valid: | |
os | object | Modul asli | |
fs | object | Modul asli | |
path | object | Modul asli | |
cp | object | Modul asli | |
http | object | Modul asli | |
https | object | Modul asli | |
crypto | object | Modul asli | |
worker_threads | object | Modul asli |
Memperoleh access token
Anda dapat memperoleh access token dengan beberapa cara berdasarkan tipe aplikasi. Untuk informasi lebih lanjut, lihat Ikhtisar Aplikasi.
Menyegarkan access token
Access token valid selama 2 jam, sedangkan refresh token valid selama tujuh hari. Selama periode validitas refresh token, Anda dapat menyegarkan access token terlepas dari apakah access token telah kedaluwarsa.
Setelah Anda menyegarkan access token, access token lama dan refresh token menjadi tidak valid.
Prosedur:
Saat menginisialisasi instance
PDSClient, tentukan parameterrefresh_token_fun.
const client = new PDSClient({
refresh_token_fun: async ()=>{
// Panggil API backend untuk menyegarkan access token. my_refresh_token_fun adalah metode kustom yang digunakan untuk menyegarkan access token.
const token_info = await my_refresh_token_fun()
return token_info
}
});Untuk informasi tentang cara mengenkapsulasi metode yang digunakan untuk menyegarkan
access token, lihat Token.
Metode publik dasar
setToken
Menentukan access token. Jika Anda tidak menentukan parameter token_info saat memanggil metode konstruksi, Anda dapat memanggil metode ini untuk menentukan parameter tersebut.
Pastikan bahwa parameter token_info di instance PDSClient saat ini valid sebelum memanggil metode ini.
client.setToken(token_info)Parameter permintaan
Parameter | Tipe | Diperlukan | Deskripsi |
token_info | TokenInfo | Ya | Informasi tentang access token. |
Parameter respons
Tidak ada
setShareToken
Menentukan share token saat memanggil metode terkait berbagi.
Jika Anda tidak menentukan parameter share_token saat memanggil metode konstruksi, Anda dapat memanggil metode ini untuk menentukan parameter tersebut.
Pastikan bahwa parameter share_token di instance PDSClient saat ini valid sebelum memanggil metode ini.
client.setShareToken(share_token)Parameter permintaan
Parameter | Tipe | Diperlukan | Deskripsi |
share_token | string | Ya | Token berbagi. |
Parameter respons
Tidak ada
postAPI
Memanggil operasi API dasar PDS. Berdasarkan metode postAPI, Anda dapat mengenkapsulasi metode untuk memanggil semua operasi API PDS.
const result = await client.postAPI(pathname, data={}, options={})Parameter options dari tipe IPDSRequestConfig dienkapsulasi berdasarkan opsi konfigurasi permintaan axios. Untuk informasi lebih lanjut, lihat AxiosRequestConfig.
Parameter permintaan
Parameter | Tipe | Diperlukan | Deskripsi |
pathname | string | Ya | Path ke operasi API yang ingin Anda panggil. Jika Anda ingin memanggil operasi |
data | objek | Data dalam format JSON yang digunakan untuk memanggil operasi API yang ditentukan oleh parameter | |
opsi | IPDSRequestConfig | Parameter permintaan lainnya. |
Parameter respons
Parameter | Tipe | Diperlukan | Deskripsi |
result | object | Data yang dikembalikan. |
Kode contoh
let {items =[]} = await client.postAPI('/file/list', {
drive_id: '1050',
parent_file_id: 'root',
})
console.log(items)Pendengar acara
Anda hanya dapat mendengarkan acara error.
Acara error
client.on('error', (error, req_opt)=> {
console.log('Error', error)
console.log('Opsi Permintaan:', req_opt)
})Parameter callback
Parameter | Tipe | Diperlukan | Deskripsi |
error | PDSError | Ya | Pesan kesalahan. Parameter ini bertipe |
req_opt | IPDSRequestConfig | Parameter permintaan. |
PDSError
Parameter | Tipe | Diperlukan | Deskripsi |
status | number |
| |
code | string |
| |
message | string | Ya |
|
reqId | string |
| |
stack | string | Tumpukan kesalahan yang digunakan untuk debugging. | |
type | string | Tipe kesalahan. Nilai valid: |