将ViewOnly文件上载到OneDrive

时间:2014-11-03 15:15:44

标签: c# .net onedrive

我正在Visual Studio中播放Microsoft.Live命名空间。将文件上传到Onedrive对我们来说没有任何问题。但我们似乎无法制作上传的文件ViewOnly。在MSDN页面上(见上文),我似乎无法找到有关此内容的任何信息。我必须如何(什么方法)以只读方式上传文件?

上传数据的当前代码:

LiveOperationResult operationResult;
var liveClient = await getLiveConnectClient();

// upload
operationResult = await liveClient.UploadAsync(folderPath, fileName, stream, OverwriteOption.Overwrite);
dynamic resultUpload = JsonConvert.DeserializeObject(operationResult.RawResult);

此代码仍在上传的文件中编辑。我想要的是创建一个带选项的链接"仅查看"。

任何想法,建议?

3 个答案:

答案 0 :(得分:1)

我假设您指的是文件系统上的只读位,而LiveSDK不支持文件的只读选项。

答案 1 :(得分:0)

我在一些(绝望的)搜索之后找到了答案

在下面的msdn-page File and folder properties上有关于如何链接到文件的参考。 当您希望获得view-only reference时,您必须执行以下URI的Webrequest

https://apis.live.net/v5.0/FILEID/shared_read_link?access_token=ACCESS_TOKEN

FileID & AccessToken can be easily found using the SDK. 

webrequest的结果是JSON数据,如下所示:

{
   "link": "https://onedrive.live.com/redir.aspx?....."
}

在浏览器中输入显示该文件的链接,但已禁用更改该文件的功能。我希望这对某人有用。

答案 2 :(得分:0)

使用一个驱动器上传文件时,上传者始终可以访问该文件。您无法将其设置为只读,或仅针对该用户进行查看。

可能的解决方法是为文件上传设置一个单独的帐户,该帐户上传到已设置了仅查看权限的共享文件夹。然后用户将查看"上传的文件是来自其他帐户的非上传用户,阻止了文件访问修改。