2013-09-03 4 views
3

SkyDrive를 사용하여 일부 정보를 백업하고 싶습니다.SkyDrive에 간단히 액세스하여 파일을 쓰고 읽는 방법은 무엇입니까?

그러나이 새로운 SDK에서이 네임 스페이스 Microsoft.Live.Controls;을 제거한 것 같습니다. 모든 코드 샘플 및 여기에 대한 답변도 구식입니다.

reference도 구식입니다. 더 이상 존재하지 않습니다 LiveConnectClient

이 변경 후에 파일을 SkyDrive에 백업하는 방법은 무엇입니까?

그것은 그리 어려운 일이 아니다

답변

4

(코드 샘플 또는 기준은. 감사합니다)하지만, 정말 아무 참조 또는 자습서가 없습니다. 아래의 모든 내용이 Windows Phone 8 프로젝트에서 올바르게 작동합니다.

Live SDK를 설치 한 후에 Microsoft.Live 네임 스페이스를 포함해야합니다.

먼저 클라이언트를 만들고 초기화해야합니다. 그 후, 당신은 로그인 및 일부 데이터에 보낼 수 있습니다 어쩌면 위의 프로세스를 단순화 할 수

LiveConnectClient client; 
var auth = new LiveAuthClient("YourGeneratedKey"); 
var result = await auth.InitializeAsync(new [] {"wl.basic", "wl.signin", "wl.skydrive_update" }); 

// If you're not connected yet, that means you'll have to log in. 
if(result.Status != LiveConnectSessionStatus.Connected) 
{ 
    // This will automatically show the login screen 
    result = await auth.LoginAsync(new [] {"wl.basic", "wl.signin", "wl.skydrive_update" }); 
} 

if(result.Status == LiveConnectSessionStatus.Connected) 
{ 
    client = new LiveConnectClient(result.Session); 
} 

,하지만 나를 위해 작동합니다.

모든 것이 계획대로 진행되면 클라이언트를 사용할 수 있습니다. 스트림에서 파일을 성공적으로 업로드했습니다.

의 당신이 보낼 파일에 Stream 획득 한 가정 해 봅시다, 난 그냥이의 가정합니다 (I는 윈도우 폰 8, IStorageFolder 다음, 다음, file.OpenStreamForReadAsync()을 파일을 얻기에 WinRT 파일 API를 통해 것을 얻었다) 예를 목적으로 텍스트 파일 :

using(stream) 
{ 
    await client.UploadAsync("me/skydrive", "myfile.txt", stream, OverwriteOption.Overwrite); 
} 

사실, 나는 또한 대부분 진행 알림, CancellationTokenIProgress<LiveOperationProgress>을 허용 과부하를 사용했습니다.

로그인 한 사용자의 SkyDrive의 기본 디렉토리에 파일을 업로드해야합니다.

+0

@ Patryk. 그거 좋네. 어떻게 키 'userId'를 가져 와서 위 코드 인 "YourGeneratedKey"에 넣을 수 있습니까? – user2715606

+0

(현재 나는 낮은 repuratioin 때문에 upvote 수 없습니다 :) 죄송합니다 – user2715606

+0

@ user2715606 [여기에 클라이언트 ID를 얻는 방법에 대한 단계별 자습서가 있습니다.] (http://msdn.microsoft.com/en-us/ 라이브러리/cc287659.aspx). –