2014-09-24 2 views
0

내 OneDrive에서 파일을 덮어 쓰려고합니다.OneDrive 파일을 업데이트하기위한 자격 증명을 어떻게 제공합니까?

아래의 올바른 방법이 있다고 생각하지만 내 OneDrive 계정에 대한 내 로그인 신용 정보를 어디에서 제공하는지 알지 못합니다.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using Microsoft.Live; 
using System.IO; 
using System.Threading.Tasks; 



namespace OneDriveUpdater 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 

      LiveConnectClient liveClient = new LiveConnectClient(this.session); 

      FileStream fs = new StreamReader(@"c:\status.txt"); 

      var result = await liveConnectClient.UploadAsync("", "STATUS", fs, OverwriteOption.Overwrite); 


     }  

    } 
} 
+0

'this.session'이란 무엇입니까? [documentation] (http://msdn.microsoft.com/en-us/library/microsoft.live.liveconnectclient.aspx)에서 인증 정보가 있어야합니다. –

+0

문서에서 this.session이 어디에 만들어 졌는지 알 수 없습니다. 내가 찾은 모든 예는 그것을 만들지 않습니다. – ManInMoon

+0

작성하지 않은 값을 참조하기 때문에 코드가 컴파일되지 않습니다. 질문을 할 때 그 점을 설명했다면 유용 할 것입니다 ... –

답변

1

설명서는 약간 희소하지만 사용자가 볼 때 정보가 있습니다. 필자는 이것을 테스트하지 않았으며 순수하게 문서에 기반하고 있지만 대략적으로 보입니다.

LiveAuthClient 인스턴스를 생성하고 인증하는 Login 또는 Initialize 방법 중 하나를 호출 (이 Initialize가 자동으로 인증 것으로 보인다,하지만 필요한 경우 Login는 대화 상자를 표시합니다).

어떤 방법을 선택하든 작업 완료시 반환 값은 LiveLoginResult입니다. 그것에는 연결 상태를위한 속성이 있고 LiveConnectSession 유형의 .Session 속성이 있습니다.

.Session 값은 LiveConnectClient 생성자에 전달해야하는 값입니다.) (당신이 라이브 연결 관리 사이트에서 응용 프로그램을 설정하는 방법에서 리디렉션 도메인을 교체

using Microsoft.Live; 
private LiveConnectSession _session = null; 

public async Task AuthenticateUserThroughLive() 
{ 
    try 
    { 
     LiveAuthClient LCAuth = new LiveAuthClient("<Redirect Domain>"); 

     LiveLoginResult loginResult = await LCAuth.LoginAsync(new string[] { "wl.signin", "wl.basic", "wl.skydrive", "wl.skydrive_update" }); 
     if (loginResult.Status == LiveConnectSessionStatus.Connected) 
     { 
      this.LiveSession = loginResult.Session; 
     } 
    } 
    catch (LiveAuthException) 
    { 
    // Handle exceptions. 
    } 
} 

및 로그인에 만 필요한 범위를 전달합니다

+0

간단한 예제가 있었 더라면 좋겠습니까 - 어떤 초기화를 사용하는지 그리고 어떤 매개 변수가 예상되는지는 알 수 없습니다. 워드 프로세서는 나보다 더 많은 eperience 사람들을 겨냥한 것 같습니다. VS가 그들을 인텔리 센스로하지 않기 때문에 실제로, 나는 eitehr initiaize 또는 로그인 메소드를 호출 할 수 없다 - 나는 다른 것을 잘못하고 있음을 제안한다. – ManInMoon

0

첫 로그인에에서 사용자를이 코드를 사용해보십시오 방법. Session 속성은 사용자가 Scopes를 통해 OneDrive에 액세스하도록 허용 된 사용자에게 Live Connect와 통신하는 데 필요한 인증 토큰을 보유합니다.

추신 : 방금 관련 주제에 대한 기사를 작성했습니다. 관련이있는 경우 http://developer.telerik.com/featured/live-connect-integration-mobile-apps/을 확인하십시오.

감사합니다.