このトピックでは、PDSClient クラスについて、その構築方法、パブリックメソッド、イベントリスナーを含めて説明します。
PDSClient 構築方法
フォトドライブサービス (PDS) のすべての API 操作を呼び出すことができる PDSClient インスタンスを作成します。
const client = new PDSClient(config, context);リクエストパラメータ
パラメータ | タイプ | 必須 | 説明 |
config | IClientParams | はい | 詳細については、このトピックの |
context | IContext | ランタイム環境のコンテキスト。詳細については、このトピックの |
IClientParams
パラメータ | タイプ | 必須 | 説明 |
token_info | TokenInfo | OAuth アクセスプロセスで取得された、または JSON Web Token (JWT) アプリケーションによって発行された | |
share_token | string | 共有トークン。 | |
api_endpoint | string | はい | PDS API のエンドポイント。ほとんどの場合、形式は |
path_type | string | ドメインのデータストレージモード。 | |
version | string | バージョン番号。 | |
refresh_token_fun | Function |
| |
refresh_share_token_fun | Function |
|
api_endpointパラメータとauth_endpointパラメータのいずれかを指定する必要があります。
TokenInfo
パラメータ | タイプ | 必須 | 説明 |
access_token | string | はい | ユーザーのIDを表す |
refresh_token | string | 有効期限が切れた | |
expire_time | string |
| |
expires_in | string |
| |
token_type | string |
| |
user_id | string | 現在のユーザーの一意の ID。 | |
role | string | 現在のユーザーが担っているロール。 | |
その他のパラメータ | 詳細については、トークン を参照してください。 |
IContext
パラメータ | タイプ | 必須 | 説明 |
isNode | boolean | はい | 環境が Node.js 環境かどうかを指定します。 |
Axios | object | はい | 詳細については、axios - npm を参照してください。 |
AxiosNodeAdapter | object |
| |
platform | string |
有効な値: | |
os | object |
| |
fs | object |
| |
path | object |
| |
cp | object |
| |
http | object |
| |
https | object |
| |
crypto | object |
| |
worker_threads | object |
|
アクセストークンを取得する
アプリケーションの種類に応じて、複数の方法で アクセストークン を取得できます。詳細については、アプリケーションの概要を参照してください。
アクセストークンを更新する
アクセストークン は 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 操作へのパス。 |
data | object |
| |
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 | はい | エラーメッセージ。このパラメータは |
req_opt | IPDSRequestConfig | リクエストパラメータ。 |
PDSError
パラメータ | タイプ | 必須 | 説明 |
status | number | サーバーがエラーを報告した場合に返される | |
code | string | サーバーがエラーを報告した場合に返される | |
message | string | はい | サーバーがエラーを報告した場合に返される |
reqId | string | サーバーがエラーを報告した場合に返される | |
stack | string | デバッグに使用されるエラースタック。 | |
type | string | エラーのタイプ。有効な値: |