All Products
Search
Document Center

Drive and Photo Service:Gunakan kelas PDSClient

Last Updated:Dec 22, 2025

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 IClientParams dari topik ini.

context

IContext

Konteks lingkungan runtime. Untuk informasi lebih lanjut, lihat bagian IContext dari topik ini.

IClientParams

Parameter

Tipe

Diperlukan

Deskripsi

token_info

TokenInfo

Informasi tentang access token yang diperoleh dalam proses akses OAuth atau diterbitkan oleh aplikasi JSON Web Token (JWT).

share_token

string

Token berbagi.

api_endpoint

string

Y1

Titik akhir API PDS. Dalam kebanyakan kasus, formatnya adalah https://{domainId}.api.aliyunpds.com.

path_type

string

Mode penyimpanan data domain. Hanya mendukung StandardMode. Nilai default: StandardMode.

version

string

Nomor versi. Hanya mendukung v2. Nilai default: v2.

refresh_token_fun

Function

Metode callback untuk dipanggil ketika access token kedaluwarsa. Metode ini mengembalikan parameter Promise<TokenInfo>.

refresh_share_token_fun

Function

Metode callback untuk dipanggil ketika share token kedaluwarsa. Metode ini mengembalikan parameter Promise<string>, yang berisi share token baru.

  • Anda harus menentukan salah satu parameter api_endpoint atau auth_endpoint.

TokenInfo

Parameter

Tipe

Diperlukan

Deskripsi

access_token

string

Ya

Access token yang mewakili identitas pengguna. Dalam kebanyakan kasus, access token valid selama 2 jam.

refresh_token

string

Refresh token, yang digunakan untuk menyegarkan access token yang telah kedaluwarsa.

expire_time

string

Waktu kedaluwarsa dari access token. Dalam kebanyakan kasus, waktu kedaluwarsa access token adalah 2 jam setelah access token diterbitkan.

expires_in

string

Periode validitas dari access token. Unit: detik. Contoh: 7200.

token_type

string

Tipe dari access token. Nilai default: Bearer.

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 AxiosNodeAdapter di Context yang diekspor dari SDK for JavaScript di lingkungan Node.js.

platform

string

Process platform di lingkungan Node.js.

Nilai yang valid: win32, darwin, dan linux.

os

object

Modul asli os di lingkungan Node.js.

fs

object

Modul asli fs di lingkungan Node.js.

path

object

Modul asli path di lingkungan Node.js.

cp

object

Modul asli child_process di lingkungan Node.js.

http

object

Modul asli http di lingkungan Node.js.

https

object

Modul asli https di lingkungan Node.js.

crypto

object

Modul asli crypto di lingkungan Node.js.

worker_threads

object

Modul asli worker_threads di lingkungan Node.js.

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 parameter refresh_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={})
Catatan

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 /v2/file/list, atur parameter ini ke /file/list.

data

objek

Data dalam format JSON yang digunakan untuk memanggil operasi API yang ditentukan oleh parameter pathname.

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 PDSError dan umumnya berisi parameter berikut: code, message, reqId, dan status.

req_opt

IPDSRequestConfig

Parameter permintaan.

PDSError

Parameter

Tipe

Diperlukan

Deskripsi

status

number

Kode status HTTP yang dikembalikan jika server melaporkan kesalahan. Parameter ini dibiarkan kosong jika klien melaporkan kesalahan.

code

string

Kode yang dikembalikan jika server melaporkan kesalahan. Nilai ClientError dikembalikan jika klien melaporkan kesalahan.

message

string

Ya

Pesan yang dikembalikan jika server melaporkan kesalahan.

reqId

string

ID permintaan yang dikembalikan jika server melaporkan kesalahan. Parameter ini dibiarkan kosong jika klien melaporkan kesalahan.

stack

string

Tumpukan kesalahan yang digunakan untuk debugging.

type

string

Tipe kesalahan. Nilai valid: ClientError dan ServerError.