3

ownCloud サーバーからファイルを共有し、外部の Drupal サイト内にリンクを埋め込みます (アクセスするには、ユーザーがログインする必要があります)。

これまでのところ、ownCloud REST「共有 API」を使用して ownCloud サーバーで認証し、ファイルへのリンクを返していますが、このリンクは永続的であり、将来認証なしで再利用できます。そのため、ユーザーが URL リンクをコピーした場合、外部サイトでの資格情報が取り消されたとしても、ファイルへのアクセスを維持できます。

これらのリンクは認証されたページに埋め込まれているため、ユーザーがownCloudに再度ログインしてファイルをダウンロードするのを避けたいので、短期トークンまたは同様のものを使用してそれらを保護したいと思います(ワークフローのようなものを想像しています:ユーザーは外部の Drupal サイトにログインし、サイト サーバーは ownCloud サーバーで認証し、トークンを受け取り、ダウンロード リンクにトークンを追加します)。

これまでのところ、私は公式フォーラムを検索し、専門家の交換に投稿し、ドキュメントを読み、広範囲にグーグルで検索しました. この機能は存在しないように見えますが、あるべきだと思われます。それで、誰かが知っているなら、どうやってそれを行うことができますか?同様の結果が得られる代替ソリューションも歓迎します!

4

3 に答える 3

1

OC Share API ドキュメントを確認すると、リンクにパスワードを追加するためのパラメータ「password」が存在することがわかります。

新しい共有を作成する
ファイル/フォルダをユーザー/グループと、または公開リンクとして共有します。

  • 構文: /共有
  • 方法: ポスト
  • POST 引数: path - (文字列) 共有するファイル/フォルダーへのパス
  • POST 引数: shareType - (int) '0' = ユーザー。'1' = グループ。'3' = 公開リンク
  • POST 引数: shareWith - (文字列) ファイルを共有するユーザー/グループ ID
  • POST 引数: publicUpload - (ブール値) 公開共有フォルダーへの公開アップロードを許可します (true/false)
  • POST 引数: password - (文字列) 公開リンクを保護するためのパスワード
  • POST 引数: 権限 - (int) 1 = 読み取り。2 = 更新。4 = 作成します。8 = 削除します。16 = シェア; 31 = すべて (デフォルト: 31、パブリック共有の場合: 1)
  • 必須フィールド: shareType 0 または 1 の場合は、shareType、path、および shareWith。
  • 結果: 新しく作成された共有の共有 ID (int) を含む XML

別の解決策は、共有ファイルを保存し、必要に応じてそれらを取り消すことです。

共有を削除

指定された共有を削除します。

  • 構文: /共有/
  • メソッド: 削除
  • 引数: share_id - (int) 共有 ID

詳細については、http: //doc.owncloud.org/server/6.0/developer_manual/core/ocs-share-api.htmlで確認できます。

于 2014-07-22T21:09:38.993 に答える
0

Web インターフェイスでは、共有は有効期限付きで作成できます。共有 API がこれへのアクセスをまだ提供していない理由がわかりません (少なくともdocs によると)。しかし、ownCloud の問題トラッカーにはすでに問題があり、これは OC7 (間もなくリリースされる予定) で実装される可能性があることを示唆しています。

一言: あなたの質問は、実際には質問というよりも機能のリクエストであり、実際にはプログラミングに関連したものではありません。ownCloud を使用することを決定し、より具体的なものが必要な場合は、ownCloud イシュー トラッカーに機能リクエストを投稿することをお勧めします...

于 2014-07-21T09:51:05.583 に答える