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

Drive and Photo Service:ファイルまたはフォルダを共有する

最終更新日:May 29, 2025

このトピックでは、共有リンクを使用する Drive および Photo Service (PDS) の共有機能について説明します。 この機能は、PDS によって提供されるデフォルト クライアントである BasicUI で使用することも、PDS の API 操作を呼び出すことによって使用することもできます。

使用上の注意

企業のカスタム ドメイン名が構成されていない場合、企業は 1 日に最大 500 件の共有を作成し、共有に最大 500 回アクセスできます。 企業内部ユーザーへのアクセスを制限せずに共有が作成された場合、共有内の APK ファイルと IPA ファイルはダウンロードできません。 この制限を削除するには、管理者がカスタム ドメイン名を構成する必要があります。 詳細については、「カスタム ドメイン名の構成」をご参照ください。

重要

2025 年 2 月 24 日 10:00:00 (UTC + 08:00) 現在、外部ユーザー向けの新たに作成された共有内の APK ファイルと IPA ファイルはダウンロードできません。

用語

用語

説明

共有リンク

ユーザーがユーザースペース内のファイルまたはフォルダを共有するために作成するリンク。 匿名ユーザーは、共有リンクを使用して、共有ファイルまたはフォルダにアクセスできます。 共有リンクの作成者は、共有リンクの有効期限と共有パスワードを指定できます。 このようにして、共有パスワードを知らされているユーザーのみが、共有リンクの有効期間内に共有ファイルまたはフォルダにアクセスできます。

共有リンク作成者

共有リンクを作成するユーザー。 共有ファイルまたはフォルダはドライブから提供されます。

共有リンク受信者

共有リンクの共有 ID と共有パスワードを使用して、共有ファイルまたはフォルダにアクセスするユーザー。 インターネット ユーザーは、特定のチャンネルから共有リンクを取得し、共有リンクを開きます。 ほとんどの場合、共有ページには共有リンクの共有 ID に関する情報が含まれています。 共有リンクの作成者が共有リンクの共有パスワードを指定した場合、システムはユーザーに共有パスワードを入力して、共有ファイルまたはフォルダにアクセスするための権限を確認するように求めます。

共有 ID

文字列形式の共有リンクの一意の ID。 例: sAvciMEXKRz。 共有リンクが作成された後、共有リンクに含まれる共有ファイルまたはフォルダに対する後続の操作中に、共有リンクの共有 ID を渡す必要があります。

共有パスワード

共有リンクの作成者が、共有リンクの作成時に共有リンクに指定するパスワード。 共有パスワードを知らされているユーザーのみが、共有リンクへのアクセスを許可されます。

共有トークン

共有リンクの受信者が、共有リンクに含まれる共有ファイルまたはフォルダに対して操作を実行するために必要なトークン。 操作には、共有ファイルまたはフォルダのリスト表示、表示、および転送が含まれます。 共有トークンは、共有ファイルまたはフォルダにアクセスするユーザーの ID を検証するために使用されます。

共有リンクの受信者は、共有リンクに含まれる共有ファイルまたはフォルダにアクセスするために、共有リンクの共有パスワードを入力するだけで済みます。 ただし、開発者は、受信者が共有ファイルまたはフォルダに対して後続の操作を実行できるように、API 操作の呼び出し中に共有パスワードを共有トークンに変換する必要があります。

共有プロセス

次の図は、ファイルまたはフォルダを共有するプロセスを示しています。

File Sharing Diagram

  1. 作成者が共有リンクを作成します。

  2. 作成者は、WeChat やフォーラムなどのチャンネルを使用して、共有リンクを受信者に転送します。

  3. 受信者は共有リンクを開き、共有リンクの作成者や有効期限などの共有リンクに関する基本情報を表示します。

  4. 認証が必要な場合、受信者は確認のために共有パスワードを入力するように求められます。

  5. 認証が完了すると、受信者は共有ファイルまたはフォルダを表示、転送、およびダウンロードできます。

API 呼び出し例

共有リンクを作成する

Drive 1 に共有リンクを作成します。 この例では、共有リンクにはファイルとフォルダが含まれています。

API リクエスト構文

POST /v2/share_link/create

認証にはアクセストークンが必要です。

CreateShareLink 操作を呼び出して、共有リンクを作成します。

サンプル リクエスト

{
    "drive_id": "1", // ドライブID
    "file_id_list": ["6407fca856abesg****", "6407fca856abeyy****"], // ファイルIDリスト
    "share_pwd": "testSharePwd", // 共有パスワード
    "expiration": "2023-03-09T01:02:03.004Z", // 有効期限
    "share_name": "Name of the share link" // 共有リンクの名前
}

サンプル 応答

{
    "share_id": "testShareId", // 共有ID
    "share_pwd": "testSharePwd", // 共有パスワード
    "drive_id": "testDriveId", // ドライブID
    "file_id_list": ["6407fca856abesg****", "6407fca856abeyy****"], // ファイルIDリスト
    "expiration": "2023-03-09T01:02:03.004Z", // 有効期限
    "created_at": "2023-03-08T07:38:43.408Z" // 作成日時
}

匿名ユーザーとして共有リンクに関する情報を表示する

次の図は、匿名ユーザーが共有リンクを開いた後に BasicUI に表示されるページを示しています。 この例では、匿名ユーザーは認証のために共有リンクの共有パスワードを入力する必要があります。 ビジネス要件に基づいて、認証が必要かどうかを指定できます。

Anonymous Share Viewing

API リクエスト構文

POST /v2/share_link/get_by_anonymous

認証は不要です。

GetShareLinkByAnonymous 操作を呼び出して、匿名ユーザーとして共有リンクに関する情報を表示します。

サンプル リクエスト

{
    "share_id": "testShareId" // 共有ID
}

サンプル 応答

{
    "creator_id": "testCreatorId", // 作成者ID
    "creator_name": "testCreatorName", // 作成者名
    "creator_phone": "1390000****", // 作成者の電話番号
    "expiration": "2023-03-09T01:02:03.004Z", // 有効期限
    "updated_at": "2023-03-08T07:38:43.408Z", // 更新日時
    "avatar": "https://example.com/yyyy", // アバター
    "share_name": "Name of the share link" // 共有リンクの名前
}

共有トークンを取得する

POST /v2/share_link/get_share_token

認証は不要です。 Alibaba Cloud のシークレット検証機能がサポートされています。 デフォルトでは、この機能は無効になっています。

GetShareLinkToken 操作を呼び出して、共有トークンを取得します。

サンプル リクエスト

{
    "share_id": "testShareId", // 共有ID
    "share_pwd": "testSharePwd" // 共有パスワード
}

サンプル 応答

{
    "share_token": "testShareToken", // 共有トークン
    "expire_time": "2023-03-08T09:51:10.634Z", // 有効期限
    "expires_in": 7200 // 有効期間(秒)
}

共有ファイルまたはフォルダをリスト表示する

次の図は、共有ファイルまたはフォルダをリスト表示した後に表示されるページの例を示しています。

List Share Directory

API リクエスト構文

POST /v2/file/list

認証には共有トークンが必要です。

共有リンクに含まれる共有ファイルまたはフォルダを管理する操作は、ファイルをリスト表示する操作など、ドライブ内のファイルまたはフォルダを管理する操作に似ています。 ただし、API 操作を呼び出して共有リンクに含まれる共有ファイルまたはフォルダを管理する場合は、認証に共有トークンを使用し、drive_id フィールドではなく share_id フィールドを指定して、共有ファイルまたはフォルダのソースとなる共有リンクを示す必要があります。 このルールは、共有リンクに含まれる共有ファイルまたはフォルダに対して CopyFile 以外の他の操作を実行する場合にも適用されます。 CopyFile 操作を呼び出して共有ファイルまたはフォルダを宛先ドライブに転送する場合は、宛先ドライブにデータを書き込む権限を確認するためにアクセストークンも指定する必要があります。

ListFile 操作を呼び出して、共有ファイルまたはフォルダをリスト表示します。

サンプル リクエスト

{
    "share_id": "testShareId", // 共有ID
    "parent_file_id": "root" // 親ファイルID
}

サンプル 応答

{
    "items": [ // アイテムリスト
        {
            "drive_id": "testDriveId", // ドライブID
            "file_id": "testFileId", // ファイルID
            "share_id": "testShareId", // 共有ID
            "name": "testName", // 名前
            "type": "folder", // タイプ
            "created_at": "2023-02-17T06:42:30.975Z", // 作成日時
            "updated_at": "2023-02-17T06:42:30.975Z", // 更新日時
            "parent_file_id": "root" // 親ファイルID
        },
        {
            "drive_id": "testDriveId", // ドライブID
            "file_id": "testFileId", // ファイルID
            "share_id": "testShareId", // 共有ID
            "name": "testName", // 名前
            "type": "folder", // タイプ
            "created_at": "2023-02-17T06:42:31.453Z", // 作成日時
            "updated_at": "2023-02-17T06:42:31.453Z", // 更新日時
            "parent_file_id": "root" // 親ファイルID
        }
    ],
    "next_marker": "" // 次のマーカー
}

共有ファイルまたはフォルダを表示する

POST /v2/file/get

認証には共有トークンが必要です。

GetFile 操作を呼び出して、共有ファイルまたはフォルダを表示します。

サンプル リクエスト

{
    "share_id": "testShareId", // 共有ID
    "file_id": "testFileId" // ファイルID
}

サンプル 応答

{
    "file_id": "testFileId", // ファイルID
    "share_id": "testShareId", // 共有ID
    "name": "Name", // 名前
    "type": "folder", // タイプ
    "created_at": "2023-03-08T03:10:32.289Z", // 作成日時
    "updated_at": "2023-03-08T03:10:32.289Z", // 更新日時
    "parent_file_id": "root" // 親ファイルID
}

共有ファイルまたはフォルダを転送する

POST /v2/file/copy

認証にはアクセストークンと共有トークンが必要です。 アクセストークンは宛先ドライブにデータを書き込む権限を確認するために使用され、共有トークンは共有ファイルまたはフォルダを読み取る権限を確認するために使用されます。

CopyFile 操作を呼び出して、共有ファイルまたはフォルダを転送します。

サンプル リクエスト

{
    "share_id": "testShareId", // 共有ID
    "file_id": "testFileId", // ファイルID
    "to_drive_id": "testToDriveId", // 宛先ドライブID
    "to_parent_file_id": "root" // 宛先親ファイルID
}

サンプル 応答

{
    "drive_id": "testDriveId", // ドライブID
    "file_id": "testFileId", // ファイルID
    "async_task_id": "testAsyncTaskId" // 非同期タスクID
}