すべてのプロダクト
Search
ドキュメントセンター

Drive and Photo Service:PDSClient クラスの使用

最終更新日:Dec 22, 2025

このトピックでは、PDSClient クラスについて、その構築方法、パブリックメソッド、イベントリスナーを含めて説明します。

PDSClient 構築方法

フォトドライブサービス (PDS) のすべての API 操作を呼び出すことができる PDSClient インスタンスを作成します。

const client = new PDSClient(config, context);

リクエストパラメータ

パラメータ

タイプ

必須

説明

config

IClientParams

はい

詳細については、このトピックの IClientParams セクションを参照してください。

context

IContext

ランタイム環境のコンテキスト。詳細については、このトピックの IContext セクションを参照してください。

IClientParams

パラメータ

タイプ

必須

説明

token_info

TokenInfo

OAuth アクセスプロセスで取得された、または JSON Web Token (JWT) アプリケーションによって発行された アクセストークン に関する情報。

share_token

string

共有トークン。

api_endpoint

string

はい

PDS API のエンドポイント。ほとんどの場合、形式は https://{domainId}.api.aliyunpds.com です。

path_type

string

ドメインのデータストレージモード。 StandardMode のみがサポートされています。デフォルト値: StandardMode

version

string

バージョン番号。 v2 のみがサポートされています。デフォルト値: v2

refresh_token_fun

Function

アクセストークン の有効期限が切れたときに呼び出すコールバックメソッド。このメソッドは、Promise<TokenInfo> パラメータを返します。

refresh_share_token_fun

Function

共有トークン の有効期限が切れたときに呼び出すコールバックメソッド。このメソッドは、新しい 共有トークン を含む Promise<string> パラメータを返します。

  • api_endpoint パラメータと auth_endpoint パラメータのいずれかを指定する必要があります。

TokenInfo

パラメータ

タイプ

必須

説明

access_token

string

はい

ユーザーのIDを表す アクセストークン。ほとんどの場合、アクセストークンは 2 時間有効です。

refresh_token

string

有効期限が切れた アクセストークン を更新するために使用される リフレッシュトークン

expire_time

string

アクセストークン の有効期限。ほとんどの場合、アクセストークンの有効期限は、アクセストークン が発行されてから 2 時間後です。

expires_in

string

アクセストークン の有効期間。単位: 秒。例: 7200。

token_type

string

アクセストークン のタイプ。デフォルト値: Bearer

user_id

string

現在のユーザーの一意の ID。

role

string

現在のユーザーが担っているロール。

その他のパラメータ

詳細については、トークン を参照してください。

IContext

パラメータ

タイプ

必須

説明

isNode

boolean

はい

環境が Node.js 環境かどうかを指定します。

Axios

object

はい

詳細については、axios - npm を参照してください。

AxiosNodeAdapter

object

Node.js 環境の SDK for JavaScript からエクスポートされた ContextAxiosNodeAdapter パラメータ。

platform

string

Node.js 環境の process platform

有効な値: win32darwinlinux

os

object

Node.js 環境のネイティブ os モジュール。

fs

object

Node.js 環境のネイティブ fs モジュール。

path

object

Node.js 環境のネイティブ path モジュール。

cp

object

Node.js 環境のネイティブ child_process モジュール。

http

object

Node.js 環境のネイティブ http モジュール。

https

object

Node.js 環境のネイティブ https モジュール。

crypto

object

Node.js 環境のネイティブ crypto モジュール。

worker_threads

object

Node.js 環境のネイティブ worker_threads モジュール。

アクセストークンを取得する

アプリケーションの種類に応じて、複数の方法で アクセストークン を取得できます。詳細については、アプリケーションの概要を参照してください。

アクセストークンを更新する

アクセストークン は 2 時間有効で、リフレッシュトークン は 7 日間有効です。 リフレッシュトークン の有効期間中は、アクセストークン の有効期限が切れているかどうかに関係なく、アクセストークンを更新できます。

アクセストークン を更新すると、古い アクセストークンリフレッシュトークン は無効になります。

手順

  • PDSClient インスタンスを初期化するときに、refresh_token_fun パラメータを指定します。

const client = new PDSClient({
   refresh_token_fun: async ()=>{
     // バックエンド API を呼び出してアクセストークンを更新します。 my_refresh_token_fun は、アクセストークンを更新するために使用されるカスタムメソッドです。
     const token_info = await my_refresh_token_fun()
     return token_info
   }
});

  • アクセストークン を更新するために使用されるメソッドをカプセル化する方法については、トークン を参照してください。

基本的なパブリックメソッド

setToken

アクセストークンを指定します。構築メソッドを呼び出すときに token_info パラメータを指定しない場合は、このメソッドを呼び出してパラメータを指定できます。

このメソッドを呼び出す前に、現在の PDSClient インスタンスの token_info パラメータが有効であることを確認してください。

client.setToken(token_info)

リクエストパラメータ

パラメータ

タイプ

必須

説明

token_info

TokenInfo

はい

アクセストークンに関する情報。

レスポンスパラメータ

なし

setShareToken

共有関連のメソッドを呼び出すときに共有トークンを指定します。

構築メソッドを呼び出すときに share_token パラメータを指定しない場合は、このメソッドを呼び出してパラメータを指定できます。

このメソッドを呼び出す前に、現在の PDSClient インスタンスの share_token パラメータが有効であることを確認してください。

client.setShareToken(share_token)

リクエストパラメータ

パラメータ

タイプ

必須

説明

share_token

string

はい

共有トークン。

レスポンスパラメータ

なし

postAPI

PDS の基本的な API 操作を呼び出します。 postAPI メソッドに基づいて、PDS のすべての API 操作を呼び出すメソッドをカプセル化できます。

const result = await client.postAPI(pathname, data={}, options={})
説明

IPDSRequestConfig タイプの options パラメータは、axios のリクエスト設定オプションに基づいてカプセル化されています。詳細については、AxiosRequestConfig を参照してください。

リクエストパラメータ

パラメータ

タイプ

必須

説明

pathname

string

はい

呼び出す API 操作へのパス。 /v2/file/list 操作を呼び出す場合は、このパラメータを /file/list に設定します。

data

object

pathname パラメータで指定された API 操作を呼び出すために使用される JSON 形式のデータ。

options

IPDSRequestConfig

その他のリクエストパラメータ。

レスポンスパラメータ

パラメータ

タイプ

必須

説明

result

object

返されたデータ。

サンプルコード

let {items =[]} = await client.postAPI('/file/list', {
  drive_id: '1050', 
  parent_file_id: 'root',
})
console.log(items)

イベントリスナー

error イベントのみをリッスンできます。

error イベント

client.on('error', (error, req_opt)=> {
   console.log('Error',  error)
   console.log('Request Options:', req_opt)
})

コールバックパラメータ

パラメータ

タイプ

必須

説明

error

PDSError

はい

エラーメッセージ。このパラメータは PDSError タイプで、一般的に code、message、reqId、status パラメータが含まれています。

req_opt

IPDSRequestConfig

リクエストパラメータ。

PDSError

パラメータ

タイプ

必須

説明

status

number

サーバーがエラーを報告した場合に返される HTTP ステータスコード。クライアントがエラーを報告した場合、このパラメータは空のままになります。

code

string

サーバーがエラーを報告した場合に返される コード。クライアントがエラーを報告した場合は、ClientError の値が返されます。

message

string

はい

サーバーがエラーを報告した場合に返される メッセージ

reqId

string

サーバーがエラーを報告した場合に返される リクエスト ID。クライアントがエラーを報告した場合、このパラメータは空のままになります。

stack

string

デバッグに使用されるエラースタック。

type

string

エラーのタイプ。有効な値: ClientError および ServerError