2014-11-03 1 views
1

Visual Studio에서 Microsoft.Live 네임 스페이스를 재생 중입니다. Onedrive에 파일을 업로드해도 문제는 없습니다. 그러나 업로드 된 파일을 만들 수 없습니다. ViewOnly. 위의 MSDN 페이지에서 이에 대한 정보를 찾을 수없는 것 같습니다. 파일을 읽기 전용으로 업로드하는 방법 (어떤 방법)을 사용해야합니까? 업로드 데이터에 대한OneDrive에 ViewOnly 파일 업로드

현재 코드 :

LiveOperationResult operationResult; 
var liveClient = await getLiveConnectClient(); 

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

이 코드는 여전히 업로드 된 파일을 편집합니다. 내가 우연히 바라는 것은 "보기 전용"옵션으로 링크를 만드는 것입니다.

의견이 있으십니까?

+0

업로드 할 때 공유 권한을 설정하지 않은 것 같습니다. 나는 당신이 "공유"시간에만 그들을 설정할 수 있다고 생각합니다. –

+0

위에서 언급 한대로 파일을 업로드하면 이미 공유 된 상태가됩니다. 'Operationresult'는 공유 파일에 대한 링크를 포함합니다. – User999999

+0

그래서 암기 적으로 전체 드라이브 하나를 세상과 공유하고 있습니까? –

답변

0

나는 다음 MSDN 페이지 File and folder properties이 파일을 링크하는 방법에 대한 기준에

를 검색하는 일부 (절망) 후 답을 찾았습니다.

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

입력 링크를 : 당신이 view-only reference을 달성 할 때 다음 URI

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

FileID & AccessToken can be easily found using the SDK. 

WebRequest 클래스의 결과의 WebRequest 클래스를 수행해야 할 것은 다음과 같습니다 JSON 데이터입니다 브라우저는 파일을 표시하지만 변경할 수는 없습니다. 나는 이것이 누군가에게 유용 할 수 있기를 바란다.

1

파일 시스템의 읽기 전용 비트를 가리키고 있으며 LiveSDK가 파일의 읽기 전용 옵션을 지원하지 않는다고 가정합니다.

+0

글쎄 아마도 내 ReadOnly 태그가 다소 오해의 소지가 있습니다. LiveSDK는보기 전용 옵션을 지원합니다. 그게 내가 찾는거야. – User999999

+0

보기 전용은 다른 사용자와 공유해야합니다. 업로드 사용자가 파일을 편집하지 못하게 할 수 없습니다. –

0

한 드라이브에서 파일을 업로드 할 때 업 로더는 항상 파일에 액세스 할 수 있습니다. 해당 사용자에 대해 읽기 전용 또는보기 전용으로 설정할 수 없습니다.

미리보기 권한이 설정된 공유 폴더에 업로드하는 파일 업로드에 대해 별도의 계정을 만드는 것이 좋습니다. 그런 다음 사용자는 업로드 된 파일을 다른 계정에서 업로드되지 않은 사용자로 "볼"하여 파일 액세스 수정을 방지합니다.

+0

그리고 그것은 정확히 내가 한 구현입니다 ....... 문제는 (업로드 사용자로 로그인하지 않은 경우에도) 반환 된 링크 (속성 내부)가 편집하지 않도록 편집 할 링크라는 것입니다. 그래서'shared_edit_link' 대신에'shared_read_link'를 찾는 방법을 찾고있었습니다. 나는 위에서 언급 한 방법으로 어떤 일을 했는가. 왜냐하면 'shared_edit_link'에 로그인하지 않아도 여전히 파일을 편집 할 수있는 가능성이 있기 때문입니다. – User999999