このトピックでは、共有 URL に関連する操作について説明します。
IPDSRequestConfig タイプの options パラメーターは、axios のリクエスト設定オプションに基づいてカプセル化されています。詳細については、AxiosRequestConfig を参照してください。
createShareLink メソッド
このメソッドを呼び出して、共有 URL を作成できます。
const result = await client.createShareLink(params, options)例
await client.createShareLink({
description: 'test',
drive_id: '1060',
expiration: '2021-12-08T15:59:59.999Z',
file_id_list: ['61a49e39d687d40967164cf98ef65ab5bb554f53'],
share_pwd: '831956',
})リクエストパラメーター
パラメーター | タイプ | 必須 | 説明 |
params | ICreateShareLinReq | はい | 共有 URL を作成するために使用されるパラメーター。 |
options | IPDSRequestConfig | その他のリクエストパラメーター。 |
ICreateShareLinReq
パラメーター | タイプ | 必須 | 説明 |
description | string | 説明。 | |
drive_id | string | はい | ドライブ ID。 |
share_pwd | string | アクセスコード。最大 64 文字まで指定できます。パラメーターを空のままにすると、アクセスコードは不要です。 | |
file_id_list | string[] | はい | このパラメーターは、標準モードでのみ有効です。ファイルのグループまたはフォルダーのリスト。ファイルまたはフォルダーの数は最大 100 です。 |
file_path_list | string[] | はい | このパラメーターはホスティングモードで有効です。 file_id_list パラメーターまたは file_path_list パラメーターのいずれかを指定できます。 |
expiration | string | はい | 共有 URL の有効期限。RFC 3339 形式で時間を指定します。 例: 2020-06-28T11:33:00.000+08:00。 パラメーターを空のままにすると、共有 URL は永続的に有効です。 |
レスポンスパラメーター
パラメーター | タイプ | 必須 | 説明 |
result | IShareLinkItem | はい | 共有 URL の詳細。 |
cancelShareLink メソッド
このメソッドを呼び出して、共有をキャンセルできます。
await client.cancelShareLink(params, options)例
await client.cancelShareLink({
share_id: 'YgHgBeXGZWr'
})リクエストパラメーター
パラメーター | タイプ | 必須 | 説明 |
params | Object | はい | 共有をキャンセルするために使用されるパラメーター。 |
options | IPDSRequestConfig | その他のリクエストパラメーター |
params
パラメーター | タイプ | 必須 | 説明 |
share_id | string | はい | 共有 ID。 |
レスポンスパラメーター
レスポンスパラメーターは返されません。
listShareLinks メソッド
このメソッドを呼び出して、共有のリストをクエリできます。
const result = await client.listShareLinks(params, options)例
const {items=[], next_marker} = await client.listShareLinks({
creator: 'user_id',
marker: '',
limit: 100,
})リクエストパラメーター
パラメーター | タイプ | 必須 | 説明 |
params | Object | はい | 共有のリストをクエリするために使用されるパラメーター。 |
options | IPDSRequestConfig | その他のリクエストパラメーター。 |
params
パラメーター | タイプ | 必須 | 説明 |
limit | number | 返されるエントリの最大数。有効な値: 1 から 100。デフォルト値: 100。 | |
marker | string | クエリの開始識別子。 | |
creator | string | 共有の作成者の ID。このメソッドを管理者として呼び出す場合、共有は次のケースに基づいてクエリされます。 このパラメーターを指定しない場合、すべてのユーザーによって作成された共有がクエリされます。 このパラメーターの値を特定のユーザー ID に設定すると、指定されたユーザーによって作成された共有がクエリされます。 このメソッドを通常のユーザーとして呼び出す場合、共有は次のケースに基づいてクエリされます。 このパラメーターを指定しない場合、自分が作成した共有がクエリされます。 このパラメーターの値を自分以外の特定のユーザー ID に設定すると、エラーコード 403 が返されます。 |
レスポンスパラメーター
パラメーター | タイプ | 必須 | 説明 |
result | IListRes<IShareLinkItem> | はい | 返された結果。 |
IListRes
パラメーター | タイプ | 必須 | 説明 |
items | IShareLinkItem[] | はい | IShareLinkItem パラメーター。 |
next_marker | string | 次のリクエストで新しいページの結果を取得するために使用されるページネーショントークン。 |
IShareLinkItem
パラメーター | タイプ | 説明 |
share_id | string | 共有 ID。 |
share_pwd | string | アクセスコード。このパラメーターが空の場合、空の文字列が返されます。これは、アクセスコードが不要であることを示します。 |
share_msg | string | 共有パスワード。 |
share_url | string | 共有 URL。 |
share_policy | 'url' | 'msg' | 共有ポリシー。有効な値: url: URL を使用します。 msg: パスワードを使用します。 |
description | string | 説明。 |
share_name | string | 共有の名前。 |
download_count | number | 共有ファイルがダウンロードされた回数。 |
preview_count | number | 共有ファイルがプレビューされた回数。 |
save_count | number | 共有ファイルが保存された回数。 |
drive_id | string | ドライブ ID。 |
share_pwd | string | アクセスコード。最大 64 文字まで指定できます。パラメーターが空の場合、アクセスコードは不要です。 |
file_id_list | string[] | このパラメーターは標準モードで返されます。 |
file_path_list | string[] | このパラメーターはホスティングモードで返されます。 |
expiration | Date | 共有 URL の有効期限。時間は RFC 3339 形式です。 例: 2020-06-28T11:33:00.000+08:00。 パラメーターが空の場合、共有 URL は永続的に有効です。 |
expired | boolean | 共有 URL の有効期限が切れているかどうかを示します。 |
status | 'enabled' | 'disabled' | 共有の状態。 |
creator | string | 共有 URL の作成者の ID。 |
created_at | string | 共有が作成された日時。 |
updated_at | string | 共有が最後に更新された日時。 |
getShareLinkByAnonymous メソッド
このメソッドを呼び出して、トークンを使用せずに匿名で共有に関する情報をクエリできます。共有トークンとは何ですか?共有トークンは、アクセストークンの代わりに listFiles などの特定の API 操作を呼び出すために使用できる一時的なトークンです。これにより、ユーザーはクライアントにログオンせずに共有ファイルをプレビューできます。
const result = await client.getShareLinkByAnonymous(params, options)例
const domain_id = 'Your domain ID' // ドメインID
const client = new PDSClient({
api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
let info = client.getShareLinkByAnonymous({
share_id: 'xxxxxx'
})リクエストパラメーター
パラメーター | タイプ | 必須 | 説明 |
params | Object | はい | 共有に関する情報をクエリするために使用されるパラメーター。 |
options | IPDSRequestConfig | その他のリクエストパラメーター。 |
params
パラメーター | タイプ | 必須 | 説明 |
share_id | string | はい | 共有 ID。 |
レスポンスパラメーター
パラメーター | タイプ | 必須 | 説明 |
result | IAnonymousShareLinkItem | はい | 返された結果。 |
IAnonymousShareLinkItem
パラメーター | タイプ | 必須 | 説明 |
avatar | string | はい | ファイルを共有したユーザーのプロフィール画像。 |
creator_id | string | はい | 共有の作成者の ID。 |
creator_name | string | はい | 共有の作成者のニックネーム。 |
creator_phone | string | 共有の作成者の携帯電話番号。 | |
disable_download | boolean | 共有ファイルのダウンロードが禁止されているかどうかを示します。 | |
disable_preview | boolean | 共有ファイルのプレビューが禁止されているかどうかを示します。 | |
disable_save | boolean | 共有ファイルの保存が禁止されているかどうかを示します。 | |
enable_upload | boolean | 共有ファイルのアップロードが許可されているかどうかを示します。 | |
expiration | Date | 共有 URL の有効期限。 | |
preview_limit | number | 共有ファイルをプレビューできる最大回数。 | |
require_login | boolean | 共有ファイルを表示するためにログオンが必要かどうかを示します。 | |
save_download_limit | number | 共有ファイルを保存またはダウンロードできる最大回数。 | |
share_name | string | 共有 URL の名前。 | |
updated_at | string | 共有 URL が最後に更新された日時。 |
getShareToken メソッド
このメソッドを呼び出して、トークンを使用せずに匿名で共有トークンをクエリできます。
共有トークンとは何ですか?
共有トークンは、アクセストークンの代わりに、listFiles などの特定の API 操作を呼び出すために使用できる一時トークンです。これにより、ユーザーはクライアントにログオンしなくても共有ファイルをプレビューできます。
const result = await client.getShareToken(params, options)例
const domain_id = 'Your domain ID' // ドメインID
const client = new PDSClient({
api_endpoint: `https://${domain_id}.api.aliyunpds.com`
})
try {
let info = client.getShareToken({
share_id: 'xxxxxx',
// share_pwd: 'Access code' // アクセスコードが指定されている場合は、アクセスコードを入力します。
})
}catch(e){
// アクセスコードが必要ですが、アクセスコードが指定されていない場合、エラーが報告されます。
if (e.code == 'InvalidResource.SharePwd'){
// アクセスコードが必要です。
}
}リクエストパラメーター
パラメーター | タイプ | 必須 | 説明 |
params | Object | はい | 共有トークンをクエリするために使用されるパラメーター。 |
options | IPDSRequestConfig | その他のリクエストパラメーター。 |
params
パラメーター | タイプ | 必須 | 説明 |
share_id | string | はい | 共有 ID。 |
share_pwd | string | アクセスコード。 |
レスポンスパラメーター
パラメーター | タイプ | 必須 | 説明 |
result | IShareToken | はい | 返された結果。 |
IShareToken
パラメーター | タイプ | 必須 | 説明 |
share_token | string | はい | 共有トークン。 |
expire_time | string | はい | 共有トークンの有効期限。 |
expires_in | string | はい | 共有トークンの有効期間。単位: 秒。 |
共有トークンの使用
次のサンプルコードは、共有トークンを使用して共有ファイルのリストをクエリします。
const share_token = 'The share token that you queried' // クエリした共有トークン
const share_id = 'Your share ID' // 共有ID
const domain_id = 'Your domain ID' // ドメインID
const client = new PDSClient({
api_endpoint: `https://${domain_id}.api.aliyunpds.com`,
share_token,
})
let {items=[], next_marker} = client.listFiles({
share_id,
parent_file_id: 'root'
},
/*
{
headers: {
'x-share-token': share_token
}
} */
)