SharePointのドキュメントライブラリを持っています。現在、ドキュメントを選択し、"Copy Link"をクリックしてリンクをユーザーに共有すると、ユーザーがリンクをクリックすると、ライブラリの設定に応じてOffice Webアプリケーションまたはクライアントアプリケーションでドキュメントが開かれます。(リンクをコピーするには、"アクセスできる人なら誰でもドキュメントを見ることができます"の設定が必要です)
その代わりに、ユーザーがリンクをクリックしたときに、直接ダウンロードされるように、これを開くことを制限することは可能ですか?
文書のコピーリンクのURLの前に、以下のURLを追加してください。これにより、ユーザーはドキュメントをダウンロードすることだけが可能になります。
http://sharepointSiteURL/_layouts/download.aspx?SourceUrl=http://DocumentCopyLinkUrl
手動で行うか、ビューをカスタマイズしてそのようなURLを持たせることができます。
**更新情報
CSRを利用してダウンロード用リンクを生成するために、以下のカスタマイズを試してみてください。 SharePoint-Online.<br/> で動作するかどうか、試してみてください。 もし、うまくいかない場合は、@Anthony Wang MSFT の 回答済み のように URL を変更してみてください。
1.ドキュメントライブラリに、"DownloadLink"という名前のカラム(Single Line of Text)を作成します。 2.2.jsファイルを作成し、以下のCSRコードを記述し、保存する(例:サイトアセットにDownloadLinkScript.jsという名前で保存する)。
(関数() {
関数 registerRenderer() {
var ctxObj = {};
ctxObj.Templates = {};
ctxObj.Templates = {。
フィールド : {
'DownloadLink':{
表示 : 関数 (ctx) { {.
var siteUrl = _spPageContextInfo.webAbsoluteUrl;
var url = String.format('{0}/_layouts/download.aspx?SourceUrl={1}', siteUrl, (siteUrl + ctx.CurrentItem.FileRef)).SourceUrl={1}の場合、SourceUrlは(SourceUrl+ctx.FileRef)となります。
return String.format('<a href="{0}">{1}</a>', url, ctx.CurrentItem.FileLeafRef).のように、ctx.CurrentItem.FileRefの値を返します。
}
},
}
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctxObj).TemplateManager.RegisterTemplateOverrides(ctxObj);
}
ExecuteOrDelayUntilScriptLoaded(registerRenderer, 'clienttemplates.js') を実行します。
})();
3.3.ドキュメントライブラリビュー --> Edit Page --> Edit Web Part --> Miscellaneous --> JS Linkに移動します。その中に以下のURLを追加し、OKをクリックしてページを保存してください。
~siteCollection/SiteAssets/DownloadLinkScript.js
4.ページを再読み込みすると、quot;Download Link"欄にファイル名のハイパーリンクがあることに気がつくと思います。
以下のURLを手動で作成することで、URLを使って直接ドキュメントをダウンロードすることができます。
https://{SiteURL}/{library internalName}/{documentName}
https://console.sharepoint.com/sites/TestSite/BulkTestDocLib/document.docx
フォルダ内にドキュメントがある場合、以下のURLを使用します。
https://{SiteURL}/{library internalName}/{folder DisplayName}/{documentName}. https://console.sharepoint.com/sites/TestSite/BulkTestDocLib/folder1/document.docx https://console.sharepoint.com/sites/TestSite/BulkTestDocLib/folder1/folder2/document.docx`
注意: -
リンクをコピーすると、https://xxx.sharepoint.com/personal/username/_layouts/15/guestaccess.aspx?guestaccesstoken=ayx%3d&docid=xyz&rev=1
のように表示されます。
あなたは、guestacces.aspx を download.aspx に置き換える必要があります。それは次のようになります。
https://xxx.sharepoint.com/personal/xyz/_layouts/15/download.aspx?guestaccesstoken=xyz%3d&docid=xyz&rev=1